Struct K2KSubBroker
pub struct K2KSubBroker {
tenant_id: u64,
endpoints: RwLock<RawRwLock, HashMap<KernelId, Sender<K2KMessage>>>,
routing_table: RwLock<RawRwLock, HashMap<KernelId, KernelId>>,
kernel_audit_tags: RwLock<RawRwLock, HashMap<KernelId, AuditTag>>,
messages_delivered: AtomicU64,
}Expand description
Per-tenant sub-broker.
Each K2KSubBroker is an independent routing domain: its endpoint map and
indirect-routing table are not visible to any other tenant. Cross-tenant
sends therefore have no possible route and are rejected by the parent
K2KBroker before they reach any sub-broker.
Fields§
§tenant_id: u64§endpoints: RwLock<RawRwLock, HashMap<KernelId, Sender<K2KMessage>>>§routing_table: RwLock<RawRwLock, HashMap<KernelId, KernelId>>§messages_delivered: AtomicU64Implementations§
§impl K2KSubBroker
impl K2KSubBroker
pub fn endpoint_count(&self) -> usize
pub fn endpoint_count(&self) -> usize
Number of kernels registered in this sub-broker.
pub fn messages_delivered(&self) -> u64
pub fn messages_delivered(&self) -> u64
Number of messages successfully delivered by this sub-broker.
pub fn knows(&self, kernel_id: &KernelId) -> bool
pub fn knows(&self, kernel_id: &KernelId) -> bool
Returns true if this sub-broker has a route (direct or indirect)
for kernel_id.
pub fn audit_tag_for(&self, kernel_id: &KernelId) -> AuditTag
pub fn audit_tag_for(&self, kernel_id: &KernelId) -> AuditTag
Get the audit tag associated with a kernel at registration time, or
AuditTag::unspecified if none was set.
Auto Trait Implementations§
impl !Freeze for K2KSubBroker
impl !RefUnwindSafe for K2KSubBroker
impl Send for K2KSubBroker
impl Sync for K2KSubBroker
impl Unpin for K2KSubBroker
impl UnwindSafe for K2KSubBroker
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
§fn deserialize(
&self,
deserializer: &mut D,
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D, ) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
§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>
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§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.