pub struct MultiplexedSession<PeerID> { /* private fields */ }
Expand description

A multiplexed session.

Implementations§

source§

impl<PeerID> MultiplexedSession<PeerID>

source

pub fn get_peer_id(&self) -> &PeerID

Return the session’s peer ID.

source

pub fn set_peer_id(&mut self, peer_id: PeerID)

Set the session’s peer ID.

source

pub fn get_session_id(&self) -> &SessionID

Return the session ID.

source

pub fn info(&self) -> Option<Arc<SessionInfo>>

Session information.

source

pub fn is_closed(&self) -> bool

Whether the session is in closed state.

source

pub async fn process_data<W: Write>( &mut self, data: &[u8], writer: W, ) -> Result<Option<Message>>

Process incoming session data.

source

pub fn write_message<W: Write>(&mut self, msg: Message, writer: W) -> Result<()>

Write message to session and generate a response.

source

pub fn get_remote_node(&self) -> Result<PublicKey>

Return remote node identifier.

source

pub fn set_remote_node(&mut self, node: PublicKey) -> Result<()>

Set the remote node identifier.

source

pub fn is_connected(&self) -> bool

Whether the session handshake has completed and the session is in transport mode.

source

pub fn is_unauthenticated(&self) -> bool

Whether the session is in unauthenticated transport state. In this state the session can only be used to transmit a close notification.

source

pub fn close(&mut self)

Mark the session as closed.

After the session is closed it can no longer be used to transmit or receive messages and any such use will result in an error.

Auto Trait Implementations§

§

impl<PeerID> Freeze for MultiplexedSession<PeerID>
where PeerID: Freeze,

§

impl<PeerID> !RefUnwindSafe for MultiplexedSession<PeerID>

§

impl<PeerID> Send for MultiplexedSession<PeerID>
where PeerID: Send,

§

impl<PeerID> Sync for MultiplexedSession<PeerID>
where PeerID: Sync,

§

impl<PeerID> Unpin for MultiplexedSession<PeerID>
where PeerID: Unpin,

§

impl<PeerID> !UnwindSafe for MultiplexedSession<PeerID>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V