Higher abstraction level is Gnutella
Handshaker can either request or accept a connection. For each connection a HandshakeSession is established. The protocol pattern (see Networks) is in use here:
The session layer is represented by HandshakeSession. It uses Http::HeaderReader and Http::HeaderWriter to read read/write HTTP-style headers over a connection (Networks::Transports::Connection). The presentation layer abstraction contains RequestHeader and ResponseHeader.
Try using Doxygen's grouping functionality to group RequestHeader and ResponseHeader into "Handshaking Presentation Layer" group for example. Then add a reference to this group in the picture above.
Does SlotAllocator fit nice here? Maybe it, together with Bootstrapping::ConnectionKeeper should either be moved in a separate package directly in Gnutella.
|
|
Definition at line 33 of file SlotAllocator.cpp. |
|
|
Definition at line 54 of file HandshakeSession.cpp. |
|
|
Definition at line 43 of file HandshakeSession.h. |
|
|
Definition at line 34 of file HandshakeSession.h. |
|
|
Definition at line 65 of file SlotAllocator.cpp. |
|
|
Definition at line 38 of file HandshakeSession.cpp. |
|
|
Definition at line 37 of file HandshakeSession.cpp. |
|
|
Definition at line 36 of file HandshakeSession.cpp. |
|
|
Initial value: {
{ CodeOK, "OK" },
{ CodeBusy, "No Slots Available" },
{ CodeNotAcceptable, "You Don't Support Required Features" },
{ CodeNotAcceptable, "I'm an Ultrapeer" },
{ CodeNotAcceptable, "I'm a Shielded Leaf" }
}
Definition at line 46 of file HandshakeSession.cpp. |