Skip to main content

DatagramBridgeInput

Trait DatagramBridgeInput 

pub trait DatagramBridgeInput: Send + 'static {
    type Ingress: DatagramSocket + ExtensionsRef;
    type Bridged<Egress: Send + 'static>: Send + 'static;

    // Required methods
    fn ingress(&self) -> &Self::Ingress;
    fn bridge<Egress>(self, egress: Egress) -> Self::Bridged<Egress>
       where Egress: Send + 'static;
}
Available on crate features std and udp only.
Expand description

What a DatagramToProxyBridge bridges: an ingress socket, alone or with what an inspection learned about it, handed on with its egress.

Required Associated Types§

type Ingress: DatagramSocket + ExtensionsRef

The ingress socket.

type Bridged<Egress: Send + 'static>: Send + 'static

This input with its egress socket.

Required Methods§

fn ingress(&self) -> &Self::Ingress

The ingress socket the egress is created for.

fn bridge<Egress>(self, egress: Egress) -> Self::Bridged<Egress>
where Egress: Send + 'static,

This input with egress next to its ingress.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

§

impl<S> DatagramBridgeInput for InputWithQuicClientHello<S>
where S: DatagramSocket + ExtensionsRef + Send + 'static,

An association peeked before its egress exists keeps its ClientHello once bridged, so the egress is created only for the associations a policy routes on.

§

type Ingress = S

§

type Bridged<Egress: Send + 'static> = InputWithQuicClientHello<BridgeIo<S, Egress>>

§

impl<S> DatagramBridgeInput for S
where S: DatagramSocket + ExtensionsRef + Send + 'static,

§

type Ingress = S

§

type Bridged<Egress: Send + 'static> = BridgeIo<S, Egress>