Lib Sub-System: Link

01 A connection beteween two hosts depends on the network between them - If a single cable or routing device is unplugged, the two hosts may not communicate with each other again.
02 Semys is about relyable communication. The Link sub-system can combine any number of connections into one link. The user of the connections uses the link interface to transport data and as long as at least one connection is available, the user can transmit and receive uninterrupted.
03 During the lifetime of a link object, connections can be added (of incoming or outgoing nature) and can become disconnected and reconnected again - the Link sub-system links all (re-)established connections as soon as possible.
04 The maximum number of simultaneous connections within a link is 64 - although the typical application will have two connections at most.
05 The Link sub-system may not be misunderstood to distribute the transmitted data among the linked connections, making transmission faster - Transportation via the Link sub-system is as fast as the slowest linked connection path.
06 Because of the generic Transporter interface, connections from any type of transporter can be linked together, making backup communication paths even more distinct than using two separate networks.
For example, a link could contain a connection via LAN and a connection via a telephone line using modems.
07 An alternative to linking two TCP connections of two separate networks together is a 'Teamed Network Adapter' that bundles two network connections (of the same network) together to be represented as one IP interface at OS level.
The benefit of the team is that does not degrade transport performance the more interfaces are teamed, but on the other hand it is more uncommon and it takes seconds until transportation is recovered after the active network cable has been disconnected.
08 The Link sub-system relies on the unique name of a connection (as described at About: Transporter.07) to successfully link a connection.
09 The Link sub-system uses the Gatherer sub-system to receive packets properly from the connections.
10 The Link sub-system requires that transmitted data is based on an encoded SemysPacket structure.
The receiving code checks the type of the received packet and filters any packets that are part of the handshake process. It could be possible that the user data starts with such a misinterpretable byte and would result in error conditions.
11 Structures:
12 Sub-system Functions:
13 Callback Functions:
14 Reference: SemysLink.h
Implementation: Semys Library

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