pub struct WsTransport { /* private fields */ }Expand description
A WebSocket-based Transport.
Supports endpoints of the format ws://ip_or_host:port.
Examples
To connect to the a remote endpoint, send a message, and receive a reply message:
use splinter::transport::Transport as _;
use splinter::transport::ws::WsTransport;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut transport = WsTransport::new(None)?;
// Connect to a remote endpoint starting wtih `ws://`.
let mut connection = transport.connect("ws://127.0.0.1:5555")?;
// Send some bytes
connection.send(b"hello world")?;
// Receive a response
let msg = connection.recv()?;
// Disconnect
connection.disconnect()?;
Ok(())
}To accept a connection, receive, and send a reply:
use splinter::transport::Transport as _;
use splinter::transport::ws::WsTransport;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut transport = WsTransport::new(None)?;
// Create a listener, which will bind to the port
let mut listener = transport.listen("ws://127.0.0.1:5555")?;
// When the other side connects, accept will return a `Connection`
let mut connection = listener.accept()?;
// Receive a message
let msg = connection.recv()?;
// Send a response
connection.send(b"hello world")?;
// Disconnect
connection.disconnect()?;
Ok(())
}Implementations
Trait Implementations
sourceimpl Default for WsTransport
impl Default for WsTransport
sourcefn default() -> WsTransport
fn default() -> WsTransport
Returns the “default value” for a type. Read more
sourceimpl Transport for WsTransport
impl Transport for WsTransport
sourcefn accepts(&self, address: &str) -> bool
fn accepts(&self, address: &str) -> bool
Indicates whether or not a given address can be used to create a connection or listener.
fn connect(
&mut self,
endpoint: &str
) -> Result<Box<dyn Connection>, ConnectError>
fn listen(&mut self, bind: &str) -> Result<Box<dyn Listener>, ListenError>
Auto Trait Implementations
impl RefUnwindSafe for WsTransport
impl Send for WsTransport
impl Sync for WsTransport
impl Unpin for WsTransport
impl UnwindSafe for WsTransport
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>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span, returning an
Instrumented wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<P, N> IntoBytes<P> for N where
P: Message + FromNative<N>,
impl<P, N> IntoBytes<P> for N where
P: Message + FromNative<N>,
fn into_bytes(self) -> Result<Vec<u8, Global>, ProtoConversionError>
sourceimpl<N, P> IntoNative<N> for P where
N: FromProto<P>,
impl<N, P> IntoNative<N> for P where
N: FromProto<P>,
fn into_native(self) -> Result<N, ProtoConversionError>
sourceimpl<N, P> IntoProto<P> for N where
P: FromNative<N>,
impl<N, P> IntoProto<P> for N where
P: FromNative<N>,
fn into_proto(self) -> Result<P, ProtoConversionError>
sourceimpl<T> IntoSql for T
impl<T> IntoSql for T
sourcefn into_sql<T>(self) -> Self::Expression where
Self: AsExpression<T>,
fn into_sql<T>(self) -> Self::Expression where
Self: AsExpression<T>,
Convert self to an expression for Diesel’s query builder. Read more
sourcefn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression where
&'a Self: AsExpression<T>,
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression where
&'a Self: AsExpression<T>,
Convert &self to an expression for Diesel’s query builder. Read more
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