pub trait Listener: StreamTypes {
// Required methods
fn accept(
&self,
) -> impl Future<Output = Result<(Self::SendSink, Self::RecvStream), Self::AcceptError>> + Send;
fn local_addr(&self) -> &[LocalAddr];
// Provided method
fn boxed(self) -> BoxedListener<Self::In, Self::Out>
where Self: BoxableListener<Self::In, Self::Out> + Sized + 'static { ... }
}
Expand description
A listener that listens for connections
A listener can be used to accept bidirectional typed channels from any of the
currently opened connections to clients, using Listener::accept
.
Required Methods§
Sourcefn accept(
&self,
) -> impl Future<Output = Result<(Self::SendSink, Self::RecvStream), Self::AcceptError>> + Send
fn accept( &self, ) -> impl Future<Output = Result<(Self::SendSink, Self::RecvStream), Self::AcceptError>> + Send
Accept a new typed bidirectional channel on any of the connections we have currently opened.
Sourcefn local_addr(&self) -> &[LocalAddr]
fn local_addr(&self) -> &[LocalAddr]
The local addresses this endpoint is bound to.
Provided Methods§
Sourcefn boxed(self) -> BoxedListener<Self::In, Self::Out>
fn boxed(self) -> BoxedListener<Self::In, Self::Out>
Box the listener
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementors§
impl<A: Listener, B: Listener<In = A::In, Out = A::Out>> Listener for CombinedListener<A, B>
impl<In: RpcMessage, Out: RpcMessage> Listener for BoxedListener<In, Out>
impl<In: RpcMessage, Out: RpcMessage> Listener for FlumeListener<In, Out>
Available on crate feature
flume-transport
only.impl<In: RpcMessage, Out: RpcMessage> Listener for HyperListener<In, Out>
Available on crate feature
hyper-transport
only.impl<In: RpcMessage, Out: RpcMessage> Listener for IrohListener<In, Out>
Available on crate feature
iroh-transport
only.impl<In: RpcMessage, Out: RpcMessage> Listener for DummyListener<In, Out>
impl<In: RpcMessage, Out: RpcMessage> Listener for QuinnListener<In, Out>
Available on crate feature
quinn-transport
only.