‘asymmetric protocol usage’ means that different protocols can be spoken in different directions on the link (eg. A->B uses Protocol1, B->A uses Protocol2)
Note on implementation: Encryption of data not yet implemented, algorithm for automatic protocol spread not yet decided upon
Sample Protocol Objects:
   FreenetProtocol: ‘Classic’ Freenet protocol – barely modified from original (parameter to 1 function changed)
   HTTPProtocol: Looks (vaguely) like HTTP
   TrickyProtocol: Negotiates port change (currently monotonically increasing) after every message
   SpreadProtocol: Splits message on arbitrary byte boundaries, sends each chunk on a different port