3 releases (breaking)

Uses old Rust 2015

0.3.0 Jan 8, 2018
0.2.0 Jan 7, 2018
0.1.0 Jan 7, 2018

#9 in #reconnect

Apache-2.0

18KB
382 lines

Recon

Asynchronous messaging on tokio-rs

Description

Tokio provides low-level building blocks to use mio with futures-rs. The related crates tokio-service and tokio-proto are designed around synchronous client/server applications.

This project is designed to provide the building blocks for implementing asynchronous messaging algorithms between nodes.

Components

This is an abstraction that sits on top of a TcpStream. It will persistently connect and re-connect to a SocketAddr to maintain a working open connection.

Messages are sent and received using a Stream and a Sink pair locally and remotely. A framed TcpStream works with the remote side.

Message delivery is not guaranteed: within a tcp session any suffix of the stream of Messages may be dropped.

Within a single tcp session messages will arrive in order as per Tcp's message ordering guarantees.

Upon reconnection a control message is sent to the local side with an incremented session id. Messages sent to the local side are tagged with the session id.

Dependencies

~10MB
~186K SLoC