Struct ConnectIpScope
pub struct ConnectIpScope {
pub target: IpTarget,
pub protocol: Option<IpProtocol>,
}masque only.Expand description
Destination and protocol requested by the client, before local authorization.
Fields§
§target: IpTargetRequested destination range/name.
protocol: Option<IpProtocol>None means wildcard; Some(0) is a real next-header number, not wildcard.
IPv6 extension-header numbers require an explicit IPv4 prefix target;
IPv6 scopes select the protocol after the extension chain (RFC 9484 section 4.8).
Implementations§
§impl ConnectIpScope
impl ConnectIpScope
pub fn new(target: IpTarget) -> ConnectIpScope
pub fn new(target: IpTarget) -> ConnectIpScope
Request a typed destination with no protocol restriction. Prefixes are normalized to their network address.
pub fn maybe_with_protocol(self, protocol: Option<IpProtocol>) -> ConnectIpScope
pub fn maybe_with_protocol(self, protocol: Option<IpProtocol>) -> ConnectIpScope
Restrict the requested IP protocol; None restores wildcard matching.
IPv6 extension-header numbers require an explicit IPv4 target.
pub fn maybe_set_protocol(
&mut self,
protocol: Option<IpProtocol>,
) -> &mut ConnectIpScope
pub fn maybe_set_protocol( &mut self, protocol: Option<IpProtocol>, ) -> &mut ConnectIpScope
Restrict the requested IP protocol; None restores wildcard matching.
IPv6 extension-header numbers require an explicit IPv4 target.
pub fn with_protocol(self, protocol: IpProtocol) -> ConnectIpScope
pub fn with_protocol(self, protocol: IpProtocol) -> ConnectIpScope
Restrict the requested IP protocol; None restores wildcard matching.
IPv6 extension-header numbers require an explicit IPv4 target.
pub fn set_protocol(&mut self, protocol: IpProtocol) -> &mut ConnectIpScope
pub fn set_protocol(&mut self, protocol: IpProtocol) -> &mut ConnectIpScope
Restrict the requested IP protocol; None restores wildcard matching.
IPv6 extension-header numbers require an explicit IPv4 target.
pub fn without_protocol(self) -> ConnectIpScope
pub fn without_protocol(self) -> ConnectIpScope
Restrict the requested IP protocol; None restores wildcard matching.
IPv6 extension-header numbers require an explicit IPv4 target.
pub fn unset_protocol(&mut self) -> &mut ConnectIpScope
pub fn unset_protocol(&mut self) -> &mut ConnectIpScope
Restrict the requested IP protocol; None restores wildcard matching.
IPv6 extension-header numbers require an explicit IPv4 target.
Trait Implementations§
§impl Clone for ConnectIpScope
impl Clone for ConnectIpScope
§fn clone(&self) -> ConnectIpScope
fn clone(&self) -> ConnectIpScope
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for ConnectIpScope
impl Debug for ConnectIpScope
§impl Default for ConnectIpScope
impl Default for ConnectIpScope
§fn default() -> ConnectIpScope
fn default() -> ConnectIpScope
impl Eq for ConnectIpScope
§impl PartialEq for ConnectIpScope
impl PartialEq for ConnectIpScope
impl StructuralPartialEq for ConnectIpScope
Auto Trait Implementations§
impl !Freeze for ConnectIpScope
impl RefUnwindSafe for ConnectIpScope
impl Send for ConnectIpScope
impl Sync for ConnectIpScope
impl Unpin for ConnectIpScope
impl UnsafeUnpin for ConnectIpScope
impl UnwindSafe for ConnectIpScope
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§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> ⓘ
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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more