4.3 Packet Sequence of the First Non-Idempotent RPCs of a Connectionless Activity

The following example shows the packet exchange when a connectionless client makes two sequential non-idempotent RPCs to a server that the client process has not previously contacted. Individual packets are defined here.

Packet exchange

Figure 24: Packet exchange

REQUEST 0: A request PDU for the client's first call. The activity ID in the header is the newly formed client activity ID, and the sequence number is zero. Because the client does not know the server's boot time, the boot time in the packet header is zero.

REQ [PF2_UNRELATED]: A conv_who_are_you2 request. This is a REQUEST PDU. The activity ID is a newly generated GUID, and the sequence number is zero because this is the first call from the server process to the client process.

The actuid parameter of the request contains the activity ID of REQUEST 0. The boot time parameter of the request contains the server's nonzero boot time.

The PF2_UNRELATED flag is set because the server supports this feature.

RESPONSE: A conv_who_are_you2 response. This is a RESPONSE PDU. The activity ID and sequence number in the RPC header match the ones in REQ [PF2_UNRELATED].

The seq parameter of the response contains zero because the lowest currently active call sequence of actuid is zero.

The cas_uuid parameter of the response contains the client's non-NULL CAS UUID.

RESPONSE 0: A response PDU for the client's first call. The activity ID and sequence number match those in the REQUEST 0.

The boot time in the packet header is the server's nonzero boot time.

REQUEST 1: A request PDU for the client's second call. The activity ID is the same as in REQUEST 0; sequence number is one; boot time is the same as boot_time from REQ [PF2_UNRELATED].

RESPONSE 1: A response PDU for the client's second call. The activity ID and sequence number match those in REQUEST 1.

The boot time in the packet header is the server's nonzero boot time.

Show: