pub struct ProposalMode { /* private fields */ }Implementations§
Source§impl ProposalMode
impl ProposalMode
Sourcepub fn new(evaluator: Arc<dyn PolicyEvaluator>) -> ProposalMode
pub fn new(evaluator: Arc<dyn PolicyEvaluator>) -> ProposalMode
Construct the mode with an injected governance policy evaluator.
Trait Implementations§
Source§impl Mode for ProposalMode
impl Mode for ProposalMode
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 ProposalMode
impl !UnwindSafe for ProposalMode
impl Freeze for ProposalMode
impl Send for ProposalMode
impl Sync for ProposalMode
impl Unpin for ProposalMode
impl UnsafeUnpin for ProposalMode
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