protosocket

Tools for building message-oriented tcp streams.

A protosocket is a non-blocking, bidirectional, message streaming connection. Providing a serializer and deserializer for your messages, you can stream to and from tcp servers.

Protosockets avoid too many opinions - you have (get?) to choose your own message ordering and concurrency semantics. You can make an implicitly ordered stream, or a non-blocking out-of-order stream.

Tools to facilitate protocol buffers over tcp are provided in protosocket-prost. You can see the protocol buffers example in example-proto.

Currently the tools are pretty low-level, and there's room for higher level wrappers that establish, for example, request and response in an async function.