pub struct WebSocketTransport { /* private fields */ }
Expand description
High level management interface for WebSocket transports.
Be aware that only one WebSocketTransport
can exist per node, as it
registers itself as a router for the WS
address type. Multiple
calls to WebSocketTransport::create
will fail.
To listen for incoming connections use
ws.listen()
.
To register additional connections on an already initialised
WebSocketTransport
, use ws.connect()
.
This step is optional because the underlying WebSocketRouter is capable of lazily
establishing a connection upon arrival of an initial message.
use ockam_transport_websocket::WebSocketTransport;
let ws = WebSocketTransport::create(&ctx).await?;
ws.listen("127.0.0.1:8000").await?; // Listen on port 8000
ws.connect("127.0.0.1:5000").await?; // And connect to port 5000
The same WebSocketTransport
can also bind to multiple ports.
use ockam_transport_websocket::WebSocketTransport;
let ws = WebSocketTransport::create(&ctx).await?;
ws.listen("127.0.0.1:8000").await?; // Listen on port 8000
ws.listen("127.0.0.1:9000").await?; // Listen on port 9000
Implementations
sourceimpl WebSocketTransport
impl WebSocketTransport
sourcepub async fn create(ctx: &Context) -> Result<WebSocketTransport>
pub async fn create(ctx: &Context) -> Result<WebSocketTransport>
Create a new WebSocket transport and router for the current node.
use ockam_transport_websocket::WebSocketTransport;
let ws = WebSocketTransport::create(&ctx).await?;
sourcepub async fn connect<S: AsRef<str>>(&self, peer: S) -> Result<()>
pub async fn connect<S: AsRef<str>>(&self, peer: S) -> Result<()>
Establish an outgoing WebSocket connection on an existing transport.
use ockam_transport_websocket::WebSocketTransport;
let ws = WebSocketTransport::create(&ctx).await?;
ws.listen("127.0.0.1:8000").await?; // Listen on port 8000
ws.connect("127.0.0.1:5000").await?; // and connect to port 5000
sourcepub async fn listen<S: AsRef<str>>(&self, bind_addr: S) -> Result<SocketAddr>
pub async fn listen<S: AsRef<str>>(&self, bind_addr: S) -> Result<SocketAddr>
Start listening to incoming connections on an existing transport.
Returns the local address that this transport is bound to.
This can be useful, for example, when binding to port 0 to figure out which port was actually bound.
use ockam_transport_websocket::WebSocketTransport;
let ws = WebSocketTransport::create(&ctx).await?;
ws.listen("127.0.0.1:8000").await?;
Auto Trait Implementations
impl !RefUnwindSafe for WebSocketTransport
impl Send for WebSocketTransport
impl Sync for WebSocketTransport
impl Unpin for WebSocketTransport
impl !UnwindSafe for WebSocketTransport
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
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
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more