Struct virtual_net::host::LocalTcpListener
source · pub struct LocalTcpListener {
stream: TcpListener,
selector: Arc<Selector>,
handler_guard: HandlerGuardState,
no_delay: Option<bool>,
keep_alive: Option<bool>,
backlog: VecDeque<(Box<dyn VirtualTcpSocket + Sync>, SocketAddr)>,
ruleset: Option<Ruleset>,
}
Fields§
§stream: TcpListener
§selector: Arc<Selector>
§handler_guard: HandlerGuardState
§no_delay: Option<bool>
§keep_alive: Option<bool>
§backlog: VecDeque<(Box<dyn VirtualTcpSocket + Sync>, SocketAddr)>
§ruleset: Option<Ruleset>
Implementations§
source§impl LocalTcpListener
impl LocalTcpListener
fn try_accept_internal( &mut self, ) -> Result<(Box<dyn VirtualTcpSocket + Sync>, SocketAddr)>
source§impl LocalTcpListener
impl LocalTcpListener
fn split_borrow( &mut self, ) -> (&mut HandlerGuardState, &Arc<Selector>, &mut TcpListener)
Trait Implementations§
source§impl Debug for LocalTcpListener
impl Debug for LocalTcpListener
source§impl VirtualIoSource for LocalTcpListener
impl VirtualIoSource for LocalTcpListener
source§fn remove_handler(&mut self)
fn remove_handler(&mut self)
Removes a previously registered waker using a token
source§impl VirtualTcpListener for LocalTcpListener
impl VirtualTcpListener for LocalTcpListener
source§fn try_accept(
&mut self,
) -> Result<(Box<dyn VirtualTcpSocket + Sync>, SocketAddr)>
fn try_accept( &mut self, ) -> Result<(Box<dyn VirtualTcpSocket + Sync>, SocketAddr)>
Tries to accept a new connection
source§fn set_handler(
&mut self,
handler: Box<dyn InterestHandler + Send + Sync>,
) -> Result<()>
fn set_handler( &mut self, handler: Box<dyn InterestHandler + Send + Sync>, ) -> Result<()>
Registers a waker for when a new connection has arrived. This uses
a stack machine which means more than one waker can be registered
source§fn addr_local(&self) -> Result<SocketAddr>
fn addr_local(&self) -> Result<SocketAddr>
Returns the local address of this TCP listener
Auto Trait Implementations§
impl Freeze for LocalTcpListener
impl !RefUnwindSafe for LocalTcpListener
impl Send for LocalTcpListener
impl Sync for LocalTcpListener
impl Unpin for LocalTcpListener
impl !UnwindSafe for LocalTcpListener
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2where
T: SharedNiching<N1, N2>,
N1: Niching<T>,
N2: Niching<T>,
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2where
T: SharedNiching<N1, N2>,
N1: Niching<T>,
N2: Niching<T>,
§impl<T> Pointee for T
impl<T> Pointee for T
source§impl<R> VirtualTcpListenerExt for Rwhere
R: VirtualTcpListener + ?Sized,
impl<R> VirtualTcpListenerExt for Rwhere
R: VirtualTcpListener + ?Sized,
source§fn accept<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<(Box<dyn VirtualTcpSocket + Sync>, SocketAddr), NetworkError>> + Send + 'async_trait>>where
'life0: 'async_trait,
R: 'async_trait,
fn accept<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<(Box<dyn VirtualTcpSocket + Sync>, SocketAddr), NetworkError>> + Send + 'async_trait>>where
'life0: 'async_trait,
R: 'async_trait,
Accepts a new connection from the TCP listener