pub struct FederationRouter { /* private fields */ }Expand description
Federation router
Routes incoming requests to the appropriate workspace based on service boundaries defined in the federation.
Implementations§
Source§impl FederationRouter
impl FederationRouter
Sourcepub const fn new(federation: Arc<Federation>) -> Self
pub const fn new(federation: Arc<Federation>) -> Self
Create a new federation router
Sourcepub fn route(&self, path: &str) -> Option<RoutingResult>
pub fn route(&self, path: &str) -> Option<RoutingResult>
Route a request to the appropriate workspace
Returns the workspace ID and service path for the request.
Sourcepub fn services(&self) -> &[ServiceBoundary]
pub fn services(&self) -> &[ServiceBoundary]
Get all services in the federation
Sourcepub fn federation_id(&self) -> Uuid
pub fn federation_id(&self) -> Uuid
Get federation ID
Auto Trait Implementations§
impl Freeze for FederationRouter
impl RefUnwindSafe for FederationRouter
impl Send for FederationRouter
impl Sync for FederationRouter
impl Unpin for FederationRouter
impl UnsafeUnpin for FederationRouter
impl UnwindSafe for FederationRouter
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
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