pub struct BrokerStateInner {
pub agents: HashMap<String, AgentRecord>,
pub agent_clis: HashMap<String, String>,
pub queues: HashMap<String, Vec<(u64, BrokerMessage)>>,
pub message_log: Vec<(u64, SystemTime, BrokerMessage)>,
pub republish_working_ttl: Duration,
}Expand description
Mutable broker state protected by an RwLock.
Fields§
§agents: HashMap<String, AgentRecord>Known agents keyed by agent ID.
agent_clis: HashMap<String, String>CLI label per agent, populated from WatchTarget at broker start.
queues: HashMap<String, Vec<(u64, BrokerMessage)>>Per-agent message inboxes: (sequence_number, message).
message_log: Vec<(u64, SystemTime, BrokerMessage)>Append-only message log for disk flush.
republish_working_ttl: DurationPost-commit re-entry TTL for the filesystem watcher (bug 8).
A file modification observed within this window after an agent’s
committed event re-publishes working. Duration::ZERO disables
the behaviour (v0.5.0 model). Defaults to 60s; overwritten from
[broker.watcher].republish_working_ttl_seconds at broker start.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for BrokerStateInner
impl RefUnwindSafe for BrokerStateInner
impl Send for BrokerStateInner
impl Sync for BrokerStateInner
impl Unpin for BrokerStateInner
impl UnsafeUnpin for BrokerStateInner
impl UnwindSafe for BrokerStateInner
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<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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