Struct ockam_transport_tcp::TcpTransport [−][src]
pub struct TcpTransport<'ctx> { /* fields omitted */ }
High level management interface for TCP transports
Be aware that only one TcpTransport
can exist per node, as it
registers itself as a router for the TCP
address type. Multiple
calls to TcpTransport::create
will fail.
To register additional connections on an already initialised
TcpTransport
, use
tcp.connect()
. To listen for
incoming connections use
tcp.listen()
use ockam_transport_tcp::TcpTransport; let tcp = TcpTransport::create(&ctx).await?; tcp.listen("127.0.0.1:8000").await?; // Listen on port 8000 tcp.connect("127.0.0.1:5000").await?; // And connect to port 5000
The same TcpTransport
can also bind to multiple ports.
let tcp = TcpTransport::create(&ctx).await?; tcp.listen("127.0.0.1:8000").await?; // Listen on port 8000 tcp.listen("127.0.0.1:9000").await?; // Listen on port 9000
Implementations
impl<'ctx> TcpTransport<'ctx>
[src]
impl<'ctx> TcpTransport<'ctx>
[src]pub async fn create(ctx: &'ctx Context) -> Result<TcpTransport<'ctx>>
[src]
Create a new TCP transport and router for the current node
pub async fn connect<S: Into<String>>(&self, peer: S) -> Result<()>
[src]
Establish an outgoing TCP connection on an existing transport
pub async fn listen<S: Into<String>>(&self, bind_addr: S) -> Result<()>
[src]
Start listening to incoming connections on an existing transport
Auto Trait Implementations
impl<'ctx> !RefUnwindSafe for TcpTransport<'ctx>
impl<'ctx> !RefUnwindSafe for TcpTransport<'ctx>
impl<'ctx> Send for TcpTransport<'ctx>
impl<'ctx> Send for TcpTransport<'ctx>
impl<'ctx> Sync for TcpTransport<'ctx>
impl<'ctx> Sync for TcpTransport<'ctx>
impl<'ctx> Unpin for TcpTransport<'ctx>
impl<'ctx> Unpin for TcpTransport<'ctx>
impl<'ctx> !UnwindSafe for TcpTransport<'ctx>
impl<'ctx> !UnwindSafe for TcpTransport<'ctx>
Blanket Implementations
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,