pub enum L4Conn {
Tcp(TcpStream),
Peeked(Box<dyn AsyncReadWrite + Send>),
Tls(Box<dyn AsyncReadWrite + Send>),
Udp(UdpAssoc),
}Variants§
Tcp(TcpStream)
Peeked(Box<dyn AsyncReadWrite + Send>)
Cleartext stream that the listener-side peek prelude has already
drained part of, with those bytes rewound into the read side via
PeekedStream. Type-erased so vane-core doesn’t need to know
the concrete adapter; downstream consumers see the connection
from byte zero.
Tls(Box<dyn AsyncReadWrite + Send>)
TLS-terminated stream after a server-side handshake completed.
The trait object erases the concrete tokio_rustls::TlsStream
type so that vane-core doesn’t need to depend on rustls
(the parsing + termination live in vane-engine). AsyncReadWrite
is the same trait L4ForwardFetch uses for byte-tunnel I/O,
auto-impl’d on any AsyncRead + AsyncWrite + Unpin. See
spec/architecture/08-tls.md § TLS termination (L4 → L7
upgrade).
Udp(UdpAssoc)
Auto Trait Implementations§
impl !Freeze for L4Conn
impl !RefUnwindSafe for L4Conn
impl Send for L4Conn
impl !Sync for L4Conn
impl Unpin for L4Conn
impl UnsafeUnpin for L4Conn
impl !UnwindSafe for L4Conn
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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