pub struct WapControlPlane<EstablisherType: UplinkEstablisher> {
pub grant: GrantManager,
pub segments: SegmentManager,
pub paths: PathManager,
pub uplinks: UplinkManager<EstablisherType>,
}Expand description
The WAP control plane
Fields§
§grant: GrantManagerDecides which client IP may reach which target over which private segments.
segments: SegmentManagerPublic segments for all (src, dst) pairs currently in use.
paths: PathManagerCombines public and granted segments into paths.
uplinks: UplinkManager<EstablisherType>Uplinks towards the WAGs, keyed by the (path, WAG) pair they were established for.
Implementations§
Source§impl<T: UplinkEstablisher> WapControlPlane<T>
impl<T: UplinkEstablisher> WapControlPlane<T>
Sourcepub fn new(
grant: GrantManager,
segments: SegmentManager,
paths: PathManager,
uplinks: UplinkManager<T>,
) -> Self
pub fn new( grant: GrantManager, segments: SegmentManager, paths: PathManager, uplinks: UplinkManager<T>, ) -> Self
Creates a new WAP control plane.
Trait Implementations§
Source§impl<T: UplinkEstablisher> Clone for WapControlPlane<T>
impl<T: UplinkEstablisher> Clone for WapControlPlane<T>
Auto Trait Implementations§
impl<EstablisherType> !RefUnwindSafe for WapControlPlane<EstablisherType>
impl<EstablisherType> !UnwindSafe for WapControlPlane<EstablisherType>
impl<EstablisherType> Freeze for WapControlPlane<EstablisherType>where
UplinkManager<EstablisherType>: Freeze,
impl<EstablisherType> Send for WapControlPlane<EstablisherType>where
UplinkManager<EstablisherType>: Send,
impl<EstablisherType> Sync for WapControlPlane<EstablisherType>where
UplinkManager<EstablisherType>: Sync,
impl<EstablisherType> Unpin for WapControlPlane<EstablisherType>where
UplinkManager<EstablisherType>: Unpin,
impl<EstablisherType> UnsafeUnpin for WapControlPlane<EstablisherType>where
UplinkManager<EstablisherType>: UnsafeUnpin,
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
Mutably borrows from an owned value. Read more
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,
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> ⓘ
Converts
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> ⓘ
Converts
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