3.1.1.1 Session-Specific Structures
The following structures are required per SMP session. These structures are needed to implement the flow control algorithm and for connection management:
Note The dotted notation of the following list items indicates the structures of a Session object instance. For example, Session.SeqNumForSend refers to the SeqNumForSend variable of the Session object.
Session.SeqNumForSend: A 32-bit unsigned integer that monotonically increases for every session DATA packet that is sent.
Session.HighWaterForSend: A 32-bit unsigned integer that tracks the peer window that is obtained through the WNDW field in the received packet header.
Session.SeqNumForRecv: A 32-bit unsigned integer that tracks the peer session sequence number obtained from the SEQNUM field in the DATA packet header. This number is used for comparison with the received packet.
Session.HighWaterForRecv: A 32-bit unsigned integer that tracks the receiver's high-water mark of the receiver buffer window. It is used to set the value of the WNDW field of each sent packet.
Session.LastHighWaterForRecv: A 32-bit unsigned integer that tracks the value of the WNDW field of the last sent packet. It is used to implement a selective ACK algorithm and is optional.
Session.ReceivePacketQueue: A queue that buffers received packets.