Introduction to ANet
Client Connection Modules
Data Transformation Modules
Cluster Group Modules
Cluster Filter Modules
Handshaking Protocol Modules
Packet Protocol Modules
Connection Protocol Modules
Bandwidth Manager Module
Document Type Definition (DTD)
The Packet Protocol Modules are used to define, in packets, the stream of communication between two nodes in the network.
While AEPs are ready to be sent on the network, they don't have any limit on their size. This can be a major problem, as an usually large packet will block the transfer of the following smaller packets.
Thus, imposing a limit on the size of the AEPs would be useful. Instead of simply filtering packets that are too big (with a Cluster Filter Module), the packets should be instead broken down into smaller pieces. But simply breaking down the packets would imply that some additionnal information need to be sent to be able to merge those pieces back together.
Also, it would be sometime useful to place the AEPs inside another protocol. For example, you could place the data inside a proper HTTP transaction, or you could make ANet queries work inside the Gnutella format.
So, the goal of a Packet Protocol Module is to tranform AEPs back and fourth to another format it supports.
The Bandwidth Manager cannot know how much overhead is done by the Packet Protocol Module by itself. Thus, the Packet Protocol Module should send an approximate value, in bytes, of the overhead it created each time its "main" function is called. If it doesn't send that information, the Bandwitdh manager will assume that little or no overhead is created by the Protocol Module.
See the complete DTD for more information.
<!-- Packet Protocol Module --> <!ELEMENT PacketProtocol EMPTY> <!ATTLIST PacketProtocol %moduleName; %args; %security;>
About the references... Benad: "Core Modules". Local link.
Last update for this document: August 24, 2001, at 1:18:28 PST