pub struct ConsolePrincipalOperatorResolver { /* private fields */ }Expand description
The provisional §16 Q1 keying, decided 2026-07-04: OperatorId = console auth principal. The console send path notes “principal P is speaking to identity I” whenever an authenticated principal sends; recall composition then attributes identity turns to the last such principal (sticky until a different principal speaks). Identity-keyed, not realm-keyed: the console does not know memory realms, and the coordinator only ever consults its own realm’s scopes, so single-realm gateways (every shipped deployment) get exact semantics; multi-realm hosts share the binding across realms — acceptable for the provisional keying, revisit with explicit operator registration.
Unauthenticated consoles never note anything, so activation remains config AND resolver AND a real principal — never config alone.
Implementations§
Trait Implementations§
Source§impl Default for ConsolePrincipalOperatorResolver
impl Default for ConsolePrincipalOperatorResolver
Source§fn default() -> ConsolePrincipalOperatorResolver
fn default() -> ConsolePrincipalOperatorResolver
Source§impl OperatorResolver for ConsolePrincipalOperatorResolver
impl OperatorResolver for ConsolePrincipalOperatorResolver
Source§fn active_operator(&self, _realm: &str, identity: &str) -> Option<String>
fn active_operator(&self, _realm: &str, identity: &str) -> Option<String>
identity’s turns in realm, or None
when no operator is resolvable right now. Implementations must key
within the given realm only — cross-realm operator profiles are
explicitly future work (§7.2).Auto Trait Implementations§
impl !Freeze for ConsolePrincipalOperatorResolver
impl RefUnwindSafe for ConsolePrincipalOperatorResolver
impl Send for ConsolePrincipalOperatorResolver
impl Sync for ConsolePrincipalOperatorResolver
impl Unpin for ConsolePrincipalOperatorResolver
impl UnsafeUnpin for ConsolePrincipalOperatorResolver
impl UnwindSafe for ConsolePrincipalOperatorResolver
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> 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