Hi everybody, here is a follow-up to the documentation topic:
Rationale
R1. Exchange packets with a remote peer.
R2. Don’t care about the actual transport protocol.
R3. Don’t care about the actual application/session protocol and let the actual protocols extend the functionality of PacketSession.
Use Cases
U1.1. Packets are exchanged with a remote peer after a (transport layer) connection has been negotiated.
U2.1. Exchange packets over a TCP transport.
U2.2. Exchange packets over a UDP transport.
U3.1. Exchange Gnutella packets over the PacketSession.
U3.2. Exchange BitTorrent packets over the PacketSession.
Scenarios
S1.1.1. Send a packet to the remote peer
S1.1.2 Receive a packet from the remote peer.
…
My suggestion would be that Rationale and Use Cases are part of the class documentation, whereas the scenarios are the documentation of their corresponding unit tests (which I hope I’ll be able to provide as well soon).
I’m looking forward to reading your comments!
Best regards,
Peter
