3.3 Send/Receive Communications Role Details

Role of the peer, host, client, and server when sending and receiving messages

Figure 16: Role of the peer, host, client, and server when sending and receiving messages

The role of the peer, host, client, and server when sending messages (section 2.2.3):

  1. When any message is sent, if the sender specifies DN_REQ_PROCESS_COMPLETION (section 2.2.3.2) to indicate that the receiving application MUST confirm delivery of the sent message, the sender waits to either receive a DN_PROCESS_COMPLETION response message (section 2.2.3.3), or to be notified of connection termination by the lower-layer transport that is handling reliable message delivery [MC-DPL8R]. If the connection is terminated prior to receiving a response, the sender MUST treat the send operation as having failed in addition to performing standard disconnect handling as described in section 3.2.

  2. Otherwise, when the DN_PROCESS_COMPLETION message is received, the send/receive is completed.

The role of the peer, host, client, and server when receiving messages (section 2.2.3):

  • When any message is received, the message is processed by the receiver. If the message is found to be invalid, the receiver performs cleanup and the message is ignored. Otherwise, when the message is valid and it contains a DN_REQ_PROCESS_COMPLETION request, a DN_PROCESS_COMPLETION response message is sent back to the sender. If the message does not contain a request for process completion, the message is consumed.