Skip to main content

MessageBuilder

Trait MessageBuilder 

Source
pub trait MessageBuilder<M> {
    // Required methods
    fn send(&mut self, message: M, scope: InteractionScope);
    fn receive(&mut self, message: M, scope: InteractionScope);
}
Expand description

A builder that can send and receive messages (or interactions) with other AIRs.

Required Methods§

Source

fn send(&mut self, message: M, scope: InteractionScope)

Sends a message.

Source

fn receive(&mut self, message: M, scope: InteractionScope)

Receives a message.

Implementations on Foreign Types§

Source§

impl<AB: AirBuilder + MessageBuilder<M>, M> MessageBuilder<M> for FilteredAirBuilder<'_, AB>

Source§

fn send(&mut self, message: M, scope: InteractionScope)

Source§

fn receive(&mut self, message: M, scope: InteractionScope)

Implementors§

Source§

impl MessageBuilder<AirInteraction<ExprRef<KoalaBear>>> for ConstraintCompiler

Source§

impl<AB: EmptyMessageBuilder, M> MessageBuilder<M> for AB

Source§

impl<F, EF, PubVar, Var, Expr> MessageBuilder<AirInteraction<Expr>> for GenericDebugPublicValuesConstraintFolder<'_, F, EF, PubVar, Var, Expr>
where F: Field, EF: ExtensionField<F>, Expr: AbstractField<F = EF> + From<F> + Add<Var, Output = Expr> + Add<F, Output = Expr> + Sub<Var, Output = Expr> + Sub<F, Output = Expr> + Mul<Var, Output = Expr> + Mul<F, Output = Expr> + MulAssign<EF> + Div<Expr, Output = Expr>, Var: Into<Expr> + Copy + Add<F, Output = Expr> + Add<Var, Output = Expr> + Add<Expr, Output = Expr> + Sub<F, Output = Expr> + Sub<Var, Output = Expr> + Sub<Expr, Output = Expr> + Mul<F, Output = Expr> + Mul<Var, Output = Expr> + Mul<Expr, Output = Expr> + Send + Sync, PubVar: Into<Expr> + Copy,

Source§

impl<F, EF, PubVar, Var, Expr> MessageBuilder<AirInteraction<Expr>> for GenericVerifierPublicValuesConstraintFolder<'_, F, EF, PubVar, Var, Expr>
where F: Field, EF: ExtensionField<F>, Expr: AbstractField<F = EF> + From<F> + Add<Var, Output = Expr> + Add<F, Output = Expr> + Sub<Var, Output = Expr> + Sub<F, Output = Expr> + Mul<Var, Output = Expr> + Mul<F, Output = Expr> + MulAssign<EF> + Div<Expr, Output = Expr>, Var: Into<Expr> + Copy + Add<F, Output = Expr> + Add<Var, Output = Expr> + Add<Expr, Output = Expr> + Sub<F, Output = Expr> + Sub<Var, Output = Expr> + Sub<Expr, Output = Expr> + Mul<F, Output = Expr> + Mul<Var, Output = Expr> + Mul<Expr, Output = Expr> + Send + Sync, PubVar: Into<Expr> + Copy,

Source§

impl<F: Field> MessageBuilder<AirInteraction<SymbolicExpression<F>>> for InteractionBuilder<F>