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. |