pub struct Session<T, C> where
T: Transcode,
T::Left: Decrypt,
T::Right: Encrypt,
C: DuplexConnection + Bipolar,
C::Left: RecvFrame,
C::Right: SendFrame, { /* private fields */ }
Implementations
sourceimpl Session<PlainTranscoder, Connection>
impl Session<PlainTranscoder, Connection>
pub fn connect(
zmq_type: ZmqSocketType,
remote: &ServiceAddr,
local: Option<&ServiceAddr>,
identity: Option<&[u8]>,
context: &Context
) -> Result<Self, Error>
pub fn with_zmq_socket(zmq_type: ZmqSocketType, socket: Socket) -> Self
Trait Implementations
sourceimpl SendRecvMessage for Session<PlainTranscoder, Connection>
impl SendRecvMessage for Session<PlainTranscoder, Connection>
fn recv_raw_message(&mut self) -> Result<Vec<u8>, Error>
fn send_raw_message(&mut self, raw: &[u8]) -> Result<usize, Error>
fn recv_routed_message(&mut self) -> Result<RoutedFrame, Error>
fn send_routed_message(
&mut self,
source: &[u8],
route: &[u8],
dest: &[u8],
raw: &[u8]
) -> Result<usize, Error>
fn into_any(self: Box<Self>) -> Box<dyn Any>
sourceimpl<const LEN_SIZE: usize> SendRecvMessage for Session<NoiseTranscoder<LEN_SIZE>, Connection>
impl<const LEN_SIZE: usize> SendRecvMessage for Session<NoiseTranscoder<LEN_SIZE>, Connection>
fn recv_raw_message(&mut self) -> Result<Vec<u8>, Error>
fn send_raw_message(&mut self, raw: &[u8]) -> Result<usize, Error>
fn recv_routed_message(&mut self) -> Result<RoutedFrame, Error>
fn send_routed_message(
&mut self,
source: &[u8],
route: &[u8],
dest: &[u8],
raw: &[u8]
) -> Result<usize, Error>
fn into_any(self: Box<Self>) -> Box<dyn Any>
sourceimpl SendRecvMessage for Session<PlainTranscoder, Connection>
impl SendRecvMessage for Session<PlainTranscoder, Connection>
fn recv_raw_message(&mut self) -> Result<Vec<u8>, Error>
fn send_raw_message(&mut self, raw: &[u8]) -> Result<usize, Error>
fn recv_routed_message(&mut self) -> Result<RoutedFrame, Error>
fn send_routed_message(
&mut self,
source: &[u8],
route: &[u8],
dest: &[u8],
raw: &[u8]
) -> Result<usize, Error>
fn into_any(self: Box<Self>) -> Box<dyn Any>
sourceimpl<T, C> Split for Session<T, C> where
T: Transcode,
T::Left: Decrypt + Send + 'static,
T::Right: Encrypt + Send + 'static,
C: DuplexConnection + Bipolar,
C::Left: RecvFrame + Send + 'static,
C::Right: SendFrame + Send + 'static,
Receiver<T::Left, C::Left>: RecvMessage,
Error: From<T::Error> + From<<T::Left as Decrypt>::Error>,
impl<T, C> Split for Session<T, C> where
T: Transcode,
T::Left: Decrypt + Send + 'static,
T::Right: Encrypt + Send + 'static,
C: DuplexConnection + Bipolar,
C::Left: RecvFrame + Send + 'static,
C::Right: SendFrame + Send + 'static,
Receiver<T::Left, C::Left>: RecvMessage,
Error: From<T::Error> + From<<T::Left as Decrypt>::Error>,
fn split(self) -> (Box<dyn RecvMessage + Send>, Box<dyn SendMessage + Send>)
Auto Trait Implementations
impl<T, C> RefUnwindSafe for Session<T, C> where
C: RefUnwindSafe,
T: RefUnwindSafe,
impl<T, C> Send for Session<T, C> where
C: Send,
T: Send,
impl<T, C> Sync for Session<T, C> where
C: Sync,
T: Sync,
impl<T, C> Unpin for Session<T, C> where
C: Unpin,
T: Unpin,
impl<T, C> UnwindSafe for Session<T, C> where
C: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more