Skip to main content

Transport

Trait Transport 

Source
pub trait Transport {
    // Required methods
    fn send<'a>(
        &'a mut self,
        message: WireMessage,
    ) -> LocalBoxFuture<'a, Result<(), TransportError>>;
    fn receive<'a>(
        &'a mut self,
    ) -> LocalBoxFuture<'a, Result<TransportEvent, TransportError>>;
    fn close<'a>(&'a mut self) -> LocalBoxFuture<'a, Result<(), TransportError>>;

    // Provided methods
    fn supports_binary(&self) -> bool { ... }
    fn close_with<'a>(
        &'a mut self,
        request: TransportCloseRequest,
    ) -> LocalBoxFuture<'a, Result<(), TransportError>> { ... }
}
Expand description

A runtime-neutral, object-safe transport interface.

LocalBoxFuture is intentional: browser WebSocket futures are not Send. Native adapters can still be driven on a dedicated local executor.

Required Methods§

Source

fn send<'a>( &'a mut self, message: WireMessage, ) -> LocalBoxFuture<'a, Result<(), TransportError>>

Sends one complete wire message.

Source

fn receive<'a>( &'a mut self, ) -> LocalBoxFuture<'a, Result<TransportEvent, TransportError>>

Waits for the next message or close notification.

Source

fn close<'a>(&'a mut self) -> LocalBoxFuture<'a, Result<(), TransportError>>

Closes the transport using its default close behavior.

Provided Methods§

Source

fn supports_binary(&self) -> bool

Returns whether this transport can send Phoenix binary frames.

Source

fn close_with<'a>( &'a mut self, request: TransportCloseRequest, ) -> LocalBoxFuture<'a, Result<(), TransportError>>

Closes the transport with an explicit WebSocket code and reason.

Implementors§