2.2.39 DPSP_MSG_PACKET

The DPSP_MSG_PACKET packet contains player-to-player data that is part of a larger message that does not fit within the maximum transmission unit (MTU) size of the transport.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

DPSP_MSG_HEADER (28 bytes)

...

...

GuidMessage (16 bytes)

...

...

PacketIndex

DataSize

Offset

TotalPackets

MessageSize

PackedOffset

PacketData (variable)

...

DPSP_MSG_HEADER (28 bytes): Message header for this packet. The Command Value member of this field MUST be set to 21 (0x15).

GuidMessage (16 bytes): MUST be set to an identifier that uniquely identifies the message to which the packet belongs.

PacketIndex (4 bytes): MUST be set to the index of the packet in the series of packets that make up the message.

DataSize (4 bytes): MUST be set to the total size, in octets, of the data in the packet.

Offset (4 bytes): MUST be set to the offset of this packet in the larger message to be transmitted.

TotalPackets (4 bytes): MUST be set to the total number of packets that are used to transmit this message.

MessageSize (4 bytes): MUST be set to the size of the buffer, in octets, that will contain the entire message.

PackedOffset (4 bytes): MUST be set to the offset, in octets, in the message of the actual packet data.

PacketData (variable): Array of DataSize bytes that contains the packet data. PacketData is a fragment of a large message that spans multiple packets because it exceeded the MTU size of the network. When all fragments have been reassembled, the large message must contain a complete DirectPlay 4 packet.