The goal of the Handshaking Protocol Modules is to provide and maintain network connections to the Core Modules[1].
The Handshaking Protocol Modules are there to provide an abstraction of network connections. From the point of view of the Core Modules, connections are identified by an ID, and Input/Output is done through buffers that will be given to the Handshaking Protocol Modules. So, it is up to the Handshaking Protocol Module to provide the IDs and to figure out to what actual protocol they point to.
Thus, it is up to the Handshaking Module to initaite and close the actual connections. This includes the need to exchange information about the distribution protocol itself, including the information taken from the Filter Modules[2], hence the name "Handshaking Protocol".
It is important to note that it is not the role of the Handshaking Protocol to define how the connections are identified, both internally and in the configuration file. This is required, as many modules require to "know" what the connections are, without forcing them to "know" how the Hanshaking Protocol works.
Basically, the entire Input and Output is in the parsed configuration file[3]. The goal of the Hanshaking Protocol is to try to make connections as in the current configuration, and update the configuration to the current state of the connections (Open, Closed and On Hold[1]).
The current configuration also contains Memory Tags[3] for both Input and Output buffers for each connection. This might be needed for some Handshaking Protocols, though it is not the goal of the Handshaking Protocol to produce or filter data in those buffers.
So, what the connections consist of? To be able to properly identify and use a connection in ANet, here's what is needed.
All of these values will be inside the current configuration settings.
See the complete DTD for more information.
<!-- Handshaking Protocol. Contains a list of inital connections (live connections once opened) --> <!ELEMENT HandshakingProtocol (Connection)*> <!ATTLIST HandshakingProtocol %moduleName; %args; %security; minConnections CDATA "0" maxConnections CDATA "-1"> |
Last update for this document: September 30, 2001, at 18:42:46 PST