Struct xstack_circuit::CircuitTransport
source · pub struct CircuitTransport { /* private fields */ }
Expand description
The implementation of transport circuit_v2.
The below codes show how to enable this.
use xstack::Switch;
use xstack_circuit::CircuitTransport;
Switch::new("test")
.transport(CircuitTransport::default())
// if the node want to enable sub-protocol '/libp2p/circuit/relay/0.2.0/stop'
.transport_bind(["/p2p-circuit"])
.create()
.await
.unwrap()
// register to global context.
.into_global();
Note: the multiaddr ‘/p2p-circuit’ can’t be bound twice for same Switch
.
Trait Implementations§
source§impl Default for CircuitTransport
impl Default for CircuitTransport
source§fn default() -> CircuitTransport
fn default() -> CircuitTransport
Returns the “default value” for a type. Read more
source§impl DriverTransport for CircuitTransport
impl DriverTransport for CircuitTransport
source§fn bind<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
switch: &'life1 Switch,
laddr: &'life2 Multiaddr,
) -> Pin<Box<dyn Future<Output = Result<TransportListener>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn bind<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
switch: &'life1 Switch,
laddr: &'life2 Multiaddr,
) -> Pin<Box<dyn Future<Output = Result<TransportListener>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Create a server-side socket with provided laddr
.
source§fn connect<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
switch: &'life1 Switch,
raddr: &'life2 Multiaddr,
) -> Pin<Box<dyn Future<Output = Result<P2pConn>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn connect<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
switch: &'life1 Switch,
raddr: &'life2 Multiaddr,
) -> Pin<Box<dyn Future<Output = Result<P2pConn>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Connect to peer with remote peer raddr
.
source§fn multiaddr_hint(&self, addr: &Multiaddr) -> bool
fn multiaddr_hint(&self, addr: &Multiaddr) -> bool
Check if this transport support the protocol stack represented by the addr
.
source§fn activities(&self) -> usize
fn activities(&self) -> usize
Returns the actives connection number.
Auto Trait Implementations§
impl Freeze for CircuitTransport
impl RefUnwindSafe for CircuitTransport
impl Send for CircuitTransport
impl Sync for CircuitTransport
impl Unpin for CircuitTransport
impl UnwindSafe for CircuitTransport
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