3.3.5.1 Client/Server and Peer-to-Peer Send/Receive Communications Sequence

Communications Exchange diagram

Figure 17: Communications Exchange diagram

Data send and receive sequences are identical for client/server and peer-to-peer modes.

There are two types of general data sends. One requires notification from the game session that the user data has been consumed, and the other does not.

To differentiate, on the data frame (DFRAME) that is handed up from the protocol, if the bCommand field has the PACKET_COMMAND_USER_1 bit set, then this is a system message where PacketType and PacketContext will be included.

  1. If an application sends data to another application and wants a response when that data has been consumed, then it will send:

    DN_REQ_PROCESS_COMPLETION

  2. When DN_REQ_PROCESS_COMPLETION is received, it is required that a message be returned indicating that this payload has been consumed:

    DN_PROCESS_COMPLETION

If the bCommand bit does not have the PACKET_COMMAND_USER_1 bit set, the data passed up via the payload is data that SHOULD be passed directly to the application with no further interpretation.

Note If Packet_Command_User_1 is set in the DFRAME, this indicates that it is a core message with the first four bytes indicating the PacketType and is always sent reliably.