Skip to main content

FactPayload

Trait FactPayload 

Source
pub trait FactPayload:
    Debug
    + Clone
    + Serialize
    + Send
    + Sync
    + 'static {
    const FAMILY: &'static str;
    const VERSION: u16;

    // Provided method
    fn validate(&self) -> Result<(), PayloadError> { ... }
}
Expand description

Typed payload carried by proposed and promoted facts.

Implementors own a frozen (FAMILY, VERSION) tuple. A shape change is a new Rust type and a new VERSION, never an implicit registry upgrade.

Required Associated Constants§

Source

const FAMILY: &'static str

Stable payload-family identifier.

Source

const VERSION: u16

Frozen schema version for this payload type.

Provided Methods§

Source

fn validate(&self) -> Result<(), PayloadError>

Validate domain invariants that the Rust type cannot make unrepresentable.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl FactPayload for AssignmentPlan

Source§

const FAMILY: &'static str = "converge.optimization.assignment.plan"

Source§

const VERSION: u16 = 1

Source§

impl FactPayload for AssignmentRequest

Source§

const FAMILY: &'static str = "converge.optimization.assignment.request"

Source§

const VERSION: u16 = 1

Source§

impl FactPayload for FlowGateDecision

Source§

const FAMILY: &'static str = "converge.flow_gate.decision"

Source§

const VERSION: u16 = 1

Source§

impl FactPayload for FlowPlan

Source§

const FAMILY: &'static str = "converge.optimization.flow.plan"

Source§

const VERSION: u16 = 1

Source§

impl FactPayload for FlowRequest

Source§

const FAMILY: &'static str = "converge.optimization.flow.request"

Source§

const VERSION: u16 = 1

Source§

impl FactPayload for PortfolioRequest

Source§

const FAMILY: &'static str = "converge.optimization.portfolio.request"

Source§

const VERSION: u16 = 1

Source§

impl FactPayload for PortfolioSelection

Source§

const FAMILY: &'static str = "converge.optimization.portfolio.selection"

Source§

const VERSION: u16 = 1

Source§

impl FactPayload for SchedulePlan

Source§

const FAMILY: &'static str = "converge.optimization.schedule.plan"

Source§

const VERSION: u16 = 1

Source§

impl FactPayload for ScheduleRequest

Source§

const FAMILY: &'static str = "converge.optimization.schedule.request"

Source§

const VERSION: u16 = 1

Source§

impl FactPayload for SchedulingPlan

Source§

const FAMILY: &'static str = "converge.optimization.scheduling.plan"

Source§

const VERSION: u16 = 1

Source§

impl FactPayload for SchedulingRequest

Source§

const FAMILY: &'static str = "converge.optimization.scheduling.request"

Source§

const VERSION: u16 = 1

Source§

impl FactPayload for VrptwPlan

Source§

const FAMILY: &'static str = "converge.optimization.vrptw.plan"

Source§

const VERSION: u16 = 1

Source§

impl FactPayload for VrptwRequest

Source§

const FAMILY: &'static str = "converge.optimization.vrptw.request"

Source§

const VERSION: u16 = 1

Implementors§

Source§

impl FactPayload for DiagnosticPayload

Source§

const FAMILY: &'static str = "converge.diagnostic"

Source§

const VERSION: u16 = 1

Source§

impl FactPayload for ExecutionIdentityEvidence

Source§

const FAMILY: &'static str = "converge.execution_identity.evidence"

Source§

const VERSION: u16 = 1

Source§

impl FactPayload for FlowGateInput

Source§

const FAMILY: &'static str = "converge.flow_gate.input"

Source§

const VERSION: u16 = 1

Source§

impl FactPayload for FormationPlan

Source§

const FAMILY: &'static str = "converge.model.formation.plan"

Source§

const VERSION: u16 = 1

Source§

impl FactPayload for FormationRequest

Source§

const FAMILY: &'static str = "converge.model.formation.request"

Source§

const VERSION: u16 = 1

Source§

impl FactPayload for PackInputPayload

Source§

const FAMILY: &'static str = "converge.pack.input"

Source§

const VERSION: u16 = 1

Source§

impl FactPayload for PackPlanPayload

Source§

const FAMILY: &'static str = "converge.pack.plan"

Source§

const VERSION: u16 = 1

Source§

impl FactPayload for ProviderAssignmentPayload

Source§

const FAMILY: &'static str = "converge.kernel.provider.assignment"

Source§

const VERSION: u16 = 1

Source§

impl FactPayload for ProviderRequestPayload

Source§

const FAMILY: &'static str = "converge.kernel.provider.request"

Source§

const VERSION: u16 = 1

Source§

impl FactPayload for TextPayload

Source§

const FAMILY: &'static str = "converge.text"

Source§

const VERSION: u16 = 1