An implementation of the packet-stream protocol used by Secure Scuttlebutt.
```rust
use futures::prelude::{SinkExt, StreamExt}; use packetstream::*;
let p = Packet { isstream: IsStream::Yes, isend: IsEnd::No, body_type: BodyType::Binary, id: 12345, body: vec![1,2,3,4,5] };
let (writer, reader) = asyncringbuffer::ringbuffer(64);
let mut sink = PacketSink::new(writer); let mut stream = PacketStream::new(reader);
async { sink.send(p).await; let r = stream.next().await.unwrap().unwrap(); asserteq!(&r.body, &[1,2,3,4,5]); asserteq!(r.id, 12345); }; ```