Struct tokio_zmq::async::sink::MultipartSink
[−]
[src]
pub struct MultipartSink<E> where
E: From<Error>, { /* fields omitted */ }
The MultipartSink
Sink handles sending streams of data to ZeroMQ Sockets.
You shouldn't ever need to manually create one. Here's how to get one from a 'raw' Socket
'
type.
Example
#![feature(conservative_impl_trait)] extern crate zmq; extern crate futures; extern crate tokio_core; extern crate tokio_zmq; use std::rc::Rc; use std::collections::VecDeque; use futures::{Future, Sink}; use tokio_core::reactor::Core; use tokio_zmq::async::{Multipart, MultipartStream}; use tokio_zmq::{Error, Socket}; fn get_sink(socket: Socket) -> impl Sink<SinkItem = Multipart, SinkError = Error> { socket.sink() } fn main() { let mut core = Core::new().unwrap(); let context = Rc::new(zmq::Context::new()); let socket = Socket::new(context, core.handle()) .bind("tcp://*:5568") .build(zmq::PUB) .unwrap(); let sink = get_sink(socket); let msg = zmq::Message::from_slice(b"Some message").unwrap(); let mut multipart = VecDeque::new(); multipart.push_back(msg); core.run(sink.send(multipart)).unwrap(); }
Methods
impl<E> MultipartSink<E> where
E: From<Error>,
[src]
E: From<Error>,
Trait Implementations
impl<E> Sink for MultipartSink<E> where
E: From<Error>,
[src]
E: From<Error>,
type SinkItem = Multipart
The type of value that the sink accepts.
type SinkError = E
The type of value produced by the sink when an error occurs.
fn start_send(
&mut self,
multipart: Self::SinkItem
) -> StartSend<Self::SinkItem, Self::SinkError>
[src]
&mut self,
multipart: Self::SinkItem
) -> StartSend<Self::SinkItem, Self::SinkError>
Begin the process of sending a value to the sink. Read more
fn poll_complete(&mut self) -> Poll<(), Self::SinkError>
[src]
Flush all output from this sink, if necessary. Read more
fn close(&mut self) -> Result<Async<()>, Self::SinkError>
[src]
A method to indicate that no more values will ever be pushed into this sink. Read more
fn wait(self) -> Wait<Self>
[src]
Creates a new object which will produce a synchronous sink. Read more
fn with<U, F, Fut>(self, f: F) -> With<Self, U, F, Fut> where
F: FnMut(U) -> Fut,
Fut: IntoFuture<Item = Self::SinkItem>,
<Fut as IntoFuture>::Error: From<Self::SinkError>,
[src]
F: FnMut(U) -> Fut,
Fut: IntoFuture<Item = Self::SinkItem>,
<Fut as IntoFuture>::Error: From<Self::SinkError>,
Composes a function in front of the sink. Read more
fn with_flat_map<U, F, St>(self, f: F) -> WithFlatMap<Self, U, F, St> where
F: FnMut(U) -> St,
St: Stream<Item = Self::SinkItem, Error = Self::SinkError>,
[src]
F: FnMut(U) -> St,
St: Stream<Item = Self::SinkItem, Error = Self::SinkError>,
Composes a function in front of the sink. Read more
fn sink_map_err<F, E>(self, f: F) -> SinkMapErr<Self, F> where
F: FnOnce(Self::SinkError) -> E,
[src]
F: FnOnce(Self::SinkError) -> E,
Transforms the error returned by the sink.
fn sink_from_err<E>(self) -> SinkFromErr<Self, E> where
E: From<Self::SinkError>,
[src]
E: From<Self::SinkError>,
Map this sink's error to any error implementing From
for this sink's Error
, returning a new sink. Read more
fn buffer(self, amt: usize) -> Buffer<Self>
[src]
Adds a fixed-size buffer to the current sink. Read more
fn flush(self) -> Flush<Self>
[src]
A future that completes when the sink has finished processing all pending requests. Read more
fn send(self, item: Self::SinkItem) -> Send<Self>
[src]
A future that completes after the given item has been fully processed into the sink, including flushing. Read more
fn send_all<S>(self, stream: S) -> SendAll<Self, S> where
S: Stream<Item = Self::SinkItem>,
Self::SinkError: From<<S as Stream>::Error>,
[src]
S: Stream<Item = Self::SinkItem>,
Self::SinkError: From<<S as Stream>::Error>,
A future that completes after the given stream has been fully processed into the sink, including flushing. Read more