Skip to main content

SessionFacade

Struct SessionFacade 

Source
pub struct SessionFacade<'a, H: SessionFacadeHandler> { /* private fields */ }
Expand description

Session-id based facade over server events.

Implementations§

Source§

impl<'a, H: SessionFacadeHandler> SessionFacade<'a, H>

Source

pub fn new(server: &'a mut RaknetServer, handler: &'a mut H) -> Self

Creates a new session facade with an empty SessionIdAdapter.

Source

pub fn with_adapter( server: &'a mut RaknetServer, handler: &'a mut H, adapter: SessionIdAdapter, ) -> Self

Creates a session facade with a caller-provided adapter.

Source

pub async fn next(&mut self) -> Result<bool>

Polls one event and dispatches it to the session handler.

Returns Ok(false) when the server event stream is closed.

Source

pub async fn run(&mut self) -> Result<()>

Runs facade loop until stream closure or callback error.

Source

pub fn server(&self) -> &RaknetServer

Returns immutable access to wrapped server.

Source

pub fn server_mut(&mut self) -> &mut RaknetServer

Returns mutable access to wrapped server.

Source

pub fn handler(&self) -> &H

Returns immutable access to wrapped handler.

Source

pub fn handler_mut(&mut self) -> &mut H

Returns mutable access to wrapped handler.

Source

pub fn adapter(&self) -> &SessionIdAdapter

Returns immutable access to the session-id adapter.

Source

pub fn adapter_mut(&mut self) -> &mut SessionIdAdapter

Returns mutable access to the session-id adapter.

Source

pub fn session_id_for_peer(&self, peer_id: PeerId) -> Option<SessionId>

Resolves PeerId to session id.

Source

pub fn peer_id_for_session(&self, session_id: SessionId) -> Option<PeerId>

Resolves session id to PeerId.

Source

pub fn peer_id_for_session_i32(&self, session_id: i32) -> Option<PeerId>

Resolves i32 session id to PeerId.

Source

pub async fn send( &mut self, session_id: SessionId, payload: impl Into<Bytes>, ) -> Result<()>

Sends payload to a session with default send options.

Source

pub async fn send_with_options( &mut self, session_id: SessionId, payload: impl Into<Bytes>, options: SendOptions, ) -> Result<()>

Sends payload to a session with explicit send options.

Source

pub async fn send_with_receipt( &mut self, session_id: SessionId, payload: impl Into<Bytes>, receipt_id: u64, ) -> Result<()>

Sends payload to a session and tracks a receipt id.

Source

pub async fn disconnect(&mut self, session_id: SessionId) -> Result<()>

Disconnects a session.

Auto Trait Implementations§

§

impl<'a, H> Freeze for SessionFacade<'a, H>

§

impl<'a, H> !RefUnwindSafe for SessionFacade<'a, H>

§

impl<'a, H> Send for SessionFacade<'a, H>
where H: Send,

§

impl<'a, H> Sync for SessionFacade<'a, H>
where H: Sync,

§

impl<'a, H> Unpin for SessionFacade<'a, H>

§

impl<'a, H> UnsafeUnpin for SessionFacade<'a, H>

§

impl<'a, H> !UnwindSafe for SessionFacade<'a, H>

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
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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

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>,

Source§

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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more