pub struct ForwardSpec {
pub bind: SocketAddr,
pub guest_port: u16,
pub endpoint: String,
pub exchange_timeout: Duration,
}Expand description
Where the forwarder listens and what it forwards to.
A struct rather than four arguments for [crate::seam]’s reason: local_port and
guest_port are both u16 and both plausible in either position, so a positional call
is how a tunnel ends up pointing at itself.
Fields§
§bind: SocketAddrThe local address to bind. Port 0 asks the OS for a free one, which the
ForwardEvent::Listening event then reports. When calling
serve_connection directly, use the accepted socket’s local address here
so the request Host can be checked against its concrete address and port.
guest_port: u16The port inside the guest to forward to.
endpoint: StringThe VM’s endpoint host, as run reported it.
exchange_timeout: DurationThe response-head deadline and the maximum gap between response-body reads. Successful body reads reset the deadline; local backpressure is excluded. Upgrades have no read deadline.
Implementations§
Source§impl ForwardSpec
impl ForwardSpec
Sourcepub fn new(
bind: SocketAddr,
guest_port: u16,
endpoint: impl Into<String>,
) -> ForwardSpec
pub fn new( bind: SocketAddr, guest_port: u16, endpoint: impl Into<String>, ) -> ForwardSpec
A spec with the default exchange timeout.
Trait Implementations§
Source§impl Clone for ForwardSpec
impl Clone for ForwardSpec
Source§fn clone(&self) -> ForwardSpec
fn clone(&self) -> ForwardSpec
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for ForwardSpec
impl RefUnwindSafe for ForwardSpec
impl Send for ForwardSpec
impl Sync for ForwardSpec
impl Unpin for ForwardSpec
impl UnsafeUnpin for ForwardSpec
impl UnwindSafe for ForwardSpec
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more