PacketSession Requirements & Specifications RFC

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

Would you like to post a relpy?


This post starts a thread.
Follow-ups:
Re: PacketSession Requirements & Specifications RFC
Hi all, Attached is an early version of PacketSessionTest.cpp. It won’t compile yet but hopefully you can have a look at it and give some ideas. I think I slowly start (more...)