pub struct QuorumMode { /* private fields */ }Implementations§
Source§impl QuorumMode
impl QuorumMode
Sourcepub fn new(evaluator: Arc<dyn PolicyEvaluator>) -> QuorumMode
pub fn new(evaluator: Arc<dyn PolicyEvaluator>) -> QuorumMode
Construct the mode with an injected governance policy evaluator.
Trait Implementations§
Source§impl Mode for QuorumMode
impl Mode for QuorumMode
Authorize the sender for this message. Modes can override to customize
authorization (e.g., allowing orchestrator bypass for Commitment messages).
fn on_session_start( &self, session: &Session, _env: &Envelope, ) -> Result<ModeResponse, MacpError>
fn on_message( &self, session: &Session, env: &Envelope, ) -> Result<ModeResponse, MacpError>
Source§fn on_message_at(
&self,
session: &Session,
env: &Envelope,
ctx: &MessageContext,
) -> Result<ModeResponse, MacpError>
fn on_message_at( &self, session: &Session, env: &Envelope, ctx: &MessageContext, ) -> Result<ModeResponse, MacpError>
Kernel entry point:
on_message plus the runtime’s
macp_core::mode::MessageContext (acceptance clock). Defaulted to plain
on_message so most modes ignore it; modes that need a trustworthy
time source (Handoff) override this instead of reading the forgeable
Envelope.timestamp_unix_ms. The runtime and replay always call this,
with the same clock value that the log entry records.Auto Trait Implementations§
impl !RefUnwindSafe for QuorumMode
impl !UnwindSafe for QuorumMode
impl Freeze for QuorumMode
impl Send for QuorumMode
impl Sync for QuorumMode
impl Unpin for QuorumMode
impl UnsafeUnpin for QuorumMode
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request