pub struct WebSocketChannel { /* private fields */ }Expand description
WebSocket channel implementation.
Unlike rest-hook (which pushes to an external endpoint), this channel broadcasts to clients that have connected to the server’s WebSocket endpoint and bound to a subscription via a binding token.
Implementations§
Source§impl WebSocketChannel
impl WebSocketChannel
Sourcepub fn new(manager: Arc<WebSocketManager>) -> Self
pub fn new(manager: Arc<WebSocketManager>) -> Self
Creates a new WebSocket channel backed by the given manager.
Sourcepub fn manager(&self) -> &Arc<WebSocketManager>
pub fn manager(&self) -> &Arc<WebSocketManager>
Returns a reference to the underlying WebSocket manager.
Trait Implementations§
Source§impl ChannelDispatcher for WebSocketChannel
impl ChannelDispatcher for WebSocketChannel
Source§fn dispatch<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
subscription: &'life1 ActiveSubscription,
notification_bundle: &'life2 Value,
) -> Pin<Box<dyn Future<Output = Result<DispatchResult, SubscriptionError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn dispatch<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
subscription: &'life1 ActiveSubscription,
notification_bundle: &'life2 Value,
) -> Pin<Box<dyn Future<Output = Result<DispatchResult, SubscriptionError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Deliver a notification bundle to the subscriber’s endpoint.
Source§fn handshake<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
subscription: &'life1 ActiveSubscription,
_handshake_bundle: &'life2 Value,
) -> Pin<Box<dyn Future<Output = Result<DispatchResult, SubscriptionError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn handshake<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
subscription: &'life1 ActiveSubscription,
_handshake_bundle: &'life2 Value,
) -> Pin<Box<dyn Future<Output = Result<DispatchResult, SubscriptionError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Perform the handshake sequence for a newly activated subscription.
Auto Trait Implementations§
impl !RefUnwindSafe for WebSocketChannel
impl !UnwindSafe for WebSocketChannel
impl Freeze for WebSocketChannel
impl Send for WebSocketChannel
impl Sync for WebSocketChannel
impl Unpin for WebSocketChannel
impl UnsafeUnpin for WebSocketChannel
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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