ministreaming protocol
**********************

Each message looks like the following

1 byte  type
3 byte  id
x byte  payload.

messages from client to server have type 0xA0 to 0xAF, 
messages from server to client have type 0x50 to 0x5F.

Each "connections" has 2 IDs, a client ID and a server ID.
These IDs may be any 3-byte values except 00 00 00, which is reserved.

All connections are created as PROP_RELIABILITY_GUARANTEED.

"actions" are the things a proper ministreaming implementation SHOULD 
do when it receives such a message.

A "ministreaming connection" is a connection where the user of the
library can send data into or receive from.

Client->Server:
===============

0xA0 Send data
  id:      the server id
  payload: the data to send
  actions: send the data to the ministreaming connection

0xA1 SYN
  id:      the client id
  payload: the public key dynamically created by the client
  actions: create a server ID and create a ministreaming connection. When 
           successful, send an ACK back, otherwise a close.

0xA2 Close
  id:      the server id
  payload: nothing
  actions: close the connection

Server->Client
==============

0x50 Send data
  id:      the client id
  payload: the data to send
  actions: send the data to the ministreaming connection

0x51 ACK
  id:      the client id
  payload: the server id
  actions: nothing

0x52 Close
  id:      the client id
  payload: nothing
  actions: close the connection


Sample conversations:
=====================

a) Service not available (e.g. the server is not accepting connections)

C->S  A1 12 34 56 key... (SYN, client ID = 12 34 56)
S->C  52 12 34 56  (Close)

b) Service available, server sends data, client closes

C->S  A1 23 45 67 key...   (SYN)
S->C  51 23 45 67 98 76 54 (ACK, server ID = 98 76 54)
S->C  50 23 45 67 data     (Send data)
C->S  A2 98 76 54          (Close)

c) Service available, client sends data first, server closes after answer (HTTP)

C->S A1 11 11 11 key...    (SYN)
S->C 51 11 11 11 FF FF FF  (ACK)
C->S A0 FF FF FF data      (send data)
S->C 50 11 11 11 data      (answer with data)
S->C 50 11 11 11 data      (more data)
S->C 51 11 11 11           (Close)

