ServerEventsSender

Struct ServerEventsSender 

Source
pub struct ServerEventsSender<T: Transport + ?Sized>(/* private fields */);
Expand description

Structure to send events to the server from outside. It’s a wrapper for a tokio::sync::mpsc::UnboundedSender from a channel so that we can send events from another thread e.g for a Websocket listener.

Implementations§

Source§

impl<T: Transport + ?Sized> ServerEventsSender<T>

Source

pub fn send_attach_transport(&self, transport: Arc<T>) -> ServerResult<()>

Sends a [ServerEvents::AttachTransport] to the RpcServer

This allows you to notify the server that has to attach a new transport so after that it can make it run to listen for new messages

This is equivalent to RpcServer::attach_transport but it can be used to attach a transport to the RpcServer from another spawned thread (or background task)

This allows you to listen on a port in a background task for external connections and attach multiple transports that want to connect to the server

It receives the Transport inside an Arc because it must be sharable.

Trait Implementations§

Source§

impl<T: Transport + ?Sized> Clone for ServerEventsSender<T>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

§

impl<T> Freeze for ServerEventsSender<T>
where T: ?Sized,

§

impl<T> RefUnwindSafe for ServerEventsSender<T>
where T: ?Sized,

§

impl<T> Send for ServerEventsSender<T>
where T: ?Sized,

§

impl<T> Sync for ServerEventsSender<T>
where T: ?Sized,

§

impl<T> Unpin for ServerEventsSender<T>
where T: ?Sized,

§

impl<T> UnwindSafe for ServerEventsSender<T>
where T: ?Sized,

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.