#secure-scuttlebutt #scuttlebutt #ssb #packet-stream #muxrpc

ssb-packetstream

Secure Scuttlebutt数据包流协议

3个不稳定版本

0.2.1 2020年3月12日
0.2.0 2020年1月18日
0.1.0 2019年5月19日

5 #secure-scuttlebutt

AGPL-3.0

38KB
948

数据包流

Documentation Build Status

Secure Scuttlebutt使用的数据包流协议的实现。

use futures::prelude::{SinkExt, StreamExt};
use packetstream::*;

let p = Packet {
    is_stream: IsStream::Yes,
    is_end: IsEnd::No,
    body_type: BodyType::Binary,
    id: 12345,
    body: vec![1,2,3,4,5]
};

let (writer, reader) = async_ringbuffer::ring_buffer(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();
    assert_eq!(&r.body, &[1,2,3,4,5]);
    assert_eq!(r.id, 12345);
};

依赖项

~1.2–1.9MB
~37K SLoC