Lib Sub-System: Gatherer

01 As specified at About: Transporter.22, a connection may receive data in different chunks than it was sent.
Because Semys is based on a message (packet) oriented communication, transmitted packets need to be received accordingly.
02 Although the Link sub-system is the next in the chain of transmission, the code for re-framing the transmitted data had been implemented in a dedicated sub-system to be available separately.
03 A Gatherer object acts as a small layer between the connection and the user of the connection. Data for transmission will be passed through the Gatherer sub-system and the other side receives the data via its Gatherer and vice versa.
04 Data (a byte array) that is to be transmitted is framed by the Gatherer by adding length information at the head and a CRC value at the tail of the array. The CRC value is added to verify a properly received frame.
05 The length information the Gatherer transmits uses three bytes, implicitly limiting the total length of a transmitable packet to 2^24 -1 Bytes (= 16 megabytes). Experience shows that a typical message is well below one kilobyte.
06 At best, the user of a connection sets the SemysGathConnReceiveProt() function as the receive callback for the connection. The listener handle of the connection must be the handle of the Gatherer object.
07 Structures:
08 Sub-system Functions:
09 Callback Functions:
10 Reference: SemysGatherer.h
Implementation: Semys Library

Goto: Main Page; This page is part of the Semys software documentation. See About: Documentation for details.