[][src]Trait async_zmq_types::InnerSocket

pub trait InnerSocket<T>: Sized where
    T: IntoInnerSocket + From<Self>, 
{ type Request: Future<Item = T>; type Response: Future<Item = (Multipart, T)>; type Stream: Stream<Item = Multipart> + IntoSocket<T, Self>; type Sink: Sink<SinkItem = Multipart> + IntoSocket<T, Self>; type SinkStream: Stream<Item = Multipart> + Sink<SinkItem = Multipart> + IntoSocket<T, Self>; fn send(self, multipart: Multipart) -> Self::Request;
fn recv(self) -> Self::Response;
fn stream(self) -> Self::Stream;
fn sink(self, buffer_size: usize) -> Self::Sink;
fn sink_stream(self, buffer_size: usize) -> Self::SinkStream; }

Define all actions possible on a socket

This should be generic enough to implement over any executor. On Tokio, this might consist of a Socket with an EventedFd, on Futures, it might just be a Socket.

Associated Types

type Request: Future<Item = T>

The future that sends a multipart to a ZMQ socket

type Response: Future<Item = (Multipart, T)>

The future that receives a multipart from a ZMQ socket

type Stream: Stream<Item = Multipart> + IntoSocket<T, Self>

A Stream of multiparts received from a ZMQ socket

type Sink: Sink<SinkItem = Multipart> + IntoSocket<T, Self>

A Sink that sends multiparts to a ZMQ socket

type SinkStream: Stream<Item = Multipart> + Sink<SinkItem = Multipart> + IntoSocket<T, Self>

A Sink and Stream that sends and receives multiparts from a ZMQ socket

Loading content...

Required methods

fn send(self, multipart: Multipart) -> Self::Request

fn recv(self) -> Self::Response

fn stream(self) -> Self::Stream

fn sink(self, buffer_size: usize) -> Self::Sink

fn sink_stream(self, buffer_size: usize) -> Self::SinkStream

Loading content...

Implementors

Loading content...