Crate futures_router_sink [−] [src]
Router Sink
Example
use futures::{stream, Stream}; use futures_router_sink::{Route, RouterSink, RouterSinkError}; // Create the two sinks that we are going to route into let even = Vec::<usize>::new(); let odd = Vec::<usize>::new(); // Create the router sink let router = RouterSink::new(even, odd); // Some made up data where we route even numbers // to the left and odd numbers to the right sink let input = (0..10) .map(|x| { if x % 2 == 0 { Route::Left(x) } else { Route::Right(x) } }) .map(Ok::<_, ()>) .collect::<Vec<_>>(); stream::iter(input) .map_err(|_| RouterSinkError::Left(())) .forward(router);
Structs
RouterSink |
A sink capable of routing incoming items to one of two sinks |
Enums
Route |
Marker to decide which route the item has to take |
RouterSinkError |
Encapsulate errors from both Sinks |