pub struct WebSocketTransport<N: NetworkProvider> { /* private fields */ }Expand description
WebSocket-based StreamTransport implementation.
Generic over the NetworkProvider type N. Owns a shared reference
to Layer 3 for establishing raw TCP connections, and a WsConfig
for protocol parameters.
§Example
ⓘ
use std::sync::Arc;
use truffle_core::transport::{WsConfig, websocket::WebSocketTransport};
let ws = WebSocketTransport::new(Arc::new(provider), WsConfig::default());
let stream = ws.connect(&peer_addr).await?;Implementations§
Source§impl<N: NetworkProvider + 'static> WebSocketTransport<N>
impl<N: NetworkProvider + 'static> WebSocketTransport<N>
Trait Implementations§
Source§impl<N: NetworkProvider + 'static> StreamTransport for WebSocketTransport<N>
impl<N: NetworkProvider + 'static> StreamTransport for WebSocketTransport<N>
Source§type Stream = WsFramedStream
type Stream = WsFramedStream
The framed stream type produced by this transport.
Source§async fn connect(&self, addr: &PeerAddr) -> Result<Self::Stream, TransportError>
async fn connect(&self, addr: &PeerAddr) -> Result<Self::Stream, TransportError>
Connect to a peer address and return a framed bidirectional stream. Read more
Source§async fn listen(&self) -> Result<StreamListener<Self::Stream>, TransportError>
async fn listen(&self) -> Result<StreamListener<Self::Stream>, TransportError>
Start listening for incoming framed connections. Read more
Auto Trait Implementations§
impl<N> Freeze for WebSocketTransport<N>
impl<N> RefUnwindSafe for WebSocketTransport<N>where
N: RefUnwindSafe,
impl<N> Send for WebSocketTransport<N>
impl<N> Sync for WebSocketTransport<N>
impl<N> Unpin for WebSocketTransport<N>
impl<N> UnsafeUnpin for WebSocketTransport<N>
impl<N> UnwindSafe for WebSocketTransport<N>where
N: RefUnwindSafe,
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