Crate ruchei_route

Crate ruchei_route 

Source
Expand description

Sinks with routing inspired by ZeroMQ’s ROUTER sockets.

This model sits somewhere between explicit connection management and ZMQ-like routing trying to be a reasonable abstraction around both, with some trade-offs.

§Sinks

§Proper RouteSinks

§RouteSink as a trait union

§Dynamicity

§Object safety

RouteSink method is object safe.

However, we don’t provide any methods to upcast to Sink, since we believe plain Sink and RouteSink traits don’t represent our target usecases, specifically networking, which involve Streams as a necessary component of the object. Since this crate doesn’t depend on futures-core, we don’t provide dyn Stream + ... either. Another consideration is to provide mechanisms for creating upcasting instead of providing upcasting itself, to, for example, allow for a more efficient FFI functionality.

§FFI

Coming Soon…

Structs§

Unroute
Assert that RouteSink is derived from Sink.
WithRoute
Sink for RouteSink and a specific route.

Traits§

RouteExt
Extension trait to make WithRoute from some mutable (pinned) reference to RouteSink.
RouteSink
Sink with route provided to some methods.