[−][src]Trait futures_zmq::prelude::SinkSocket
This trait provides the basic Sink support for ZeroMQ Sockets. It depends on IntoInnerSocket
and
provides the send
and sink
methods.
Provided methods
fn send(
self,
multipart: Multipart
) -> <Self::Socket as InnerSocket<Self>>::Request
self,
multipart: Multipart
) -> <Self::Socket as InnerSocket<Self>>::Request
Send a single multipart message to the socket.
Example, using a Pub wrapper type
extern crate zmq; extern crate futures; extern crate tokio; extern crate tokio_zmq; use std::sync::Arc; use futures::Future; use tokio_zmq::{prelude::*, async_types::MultipartStream, Error, Pub}; fn main() { let context = Arc::new(zmq::Context::new()); let msg = zmq::Message::from_slice(b"Hello"); let fut = Pub::builder(context) .connect("tcp://localhost:5569") .build() .and_then(|zpub| zpub.send(msg.into())); // tokio::run(fut.map(|_| ()).or_else(|e| { // println!("Error: {}", e); // Ok(()) // })); }
fn sink(self, buffer_size: usize) -> <Self::Socket as InnerSocket<Self>>::Sink
Send a stream of multipart messages to the socket.
It takes a buffer_size argument, which will determine how many Multipart
s can be
submitted into the send queue before the sink applies backpressure.
Example, using a Pub wrapper type
extern crate zmq; extern crate futures; extern crate tokio; extern crate tokio_zmq; use std::sync::Arc; use futures::{Future, Stream, stream::iter_ok}; use tokio_zmq::{prelude::*, async_types::MultipartStream, Error, Multipart, Pub}; fn main() { let context = Arc::new(zmq::Context::new()); let fut = Pub::builder(context) .connect("tcp://localhost:5570") .build() .and_then(|zpub| { iter_ok(0..5) .map(|i| { zmq::Message::from_slice(format!("i: {}", i).as_bytes()).into() }) .forward(zpub.sink(25)) }); // tokio::run(fut.map(|_| ()).or_else(|e| { // println!("Error: {}", e); // Ok(()) // })); }
Implementors
impl SinkSocket for Dealer
[src]
fn send(
self,
multipart: Multipart
) -> <Self::Socket as InnerSocket<Self>>::Request
[src]
self,
multipart: Multipart
) -> <Self::Socket as InnerSocket<Self>>::Request
fn sink(self, buffer_size: usize) -> <Self::Socket as InnerSocket<Self>>::Sink
[src]
impl SinkSocket for Pair
[src]
fn send(
self,
multipart: Multipart
) -> <Self::Socket as InnerSocket<Self>>::Request
[src]
self,
multipart: Multipart
) -> <Self::Socket as InnerSocket<Self>>::Request
fn sink(self, buffer_size: usize) -> <Self::Socket as InnerSocket<Self>>::Sink
[src]
impl SinkSocket for Pub
[src]
fn send(
self,
multipart: Multipart
) -> <Self::Socket as InnerSocket<Self>>::Request
[src]
self,
multipart: Multipart
) -> <Self::Socket as InnerSocket<Self>>::Request
fn sink(self, buffer_size: usize) -> <Self::Socket as InnerSocket<Self>>::Sink
[src]
impl SinkSocket for Push
[src]
fn send(
self,
multipart: Multipart
) -> <Self::Socket as InnerSocket<Self>>::Request
[src]
self,
multipart: Multipart
) -> <Self::Socket as InnerSocket<Self>>::Request
fn sink(self, buffer_size: usize) -> <Self::Socket as InnerSocket<Self>>::Sink
[src]
impl SinkSocket for Rep
[src]
fn send(
self,
multipart: Multipart
) -> <Self::Socket as InnerSocket<Self>>::Request
[src]
self,
multipart: Multipart
) -> <Self::Socket as InnerSocket<Self>>::Request
fn sink(self, buffer_size: usize) -> <Self::Socket as InnerSocket<Self>>::Sink
[src]
impl SinkSocket for Req
[src]
fn send(
self,
multipart: Multipart
) -> <Self::Socket as InnerSocket<Self>>::Request
[src]
self,
multipart: Multipart
) -> <Self::Socket as InnerSocket<Self>>::Request
fn sink(self, buffer_size: usize) -> <Self::Socket as InnerSocket<Self>>::Sink
[src]
impl SinkSocket for Router
[src]
fn send(
self,
multipart: Multipart
) -> <Self::Socket as InnerSocket<Self>>::Request
[src]
self,
multipart: Multipart
) -> <Self::Socket as InnerSocket<Self>>::Request
fn sink(self, buffer_size: usize) -> <Self::Socket as InnerSocket<Self>>::Sink
[src]
impl SinkSocket for Xpub
[src]
fn send(
self,
multipart: Multipart
) -> <Self::Socket as InnerSocket<Self>>::Request
[src]
self,
multipart: Multipart
) -> <Self::Socket as InnerSocket<Self>>::Request