hibana 0.6.2

Const-projected Affine Multiparty Session Types for choreography-first Rust protocols
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//! Role-local typestate synthesis derived from `EffList`.
//!
//! This module materialises compact role-local transition facts from an
//! `EffList`. Each node captures the local action (send/recv/control) together
//! with the successor index, allowing higher layers to drive endpoint
//! transitions from compiled facts.

mod cursor;
mod facts;

pub(crate) use self::facts::StateIndex;
pub(crate) use self::{
    cursor::{LoopMetadata, LoopRole, PhaseCursor, PhaseCursorState},
    facts::{
        ARM_SHARED, JumpReason, LocalAction, LocalMeta, LocalNode, MAX_FIRST_RECV_DISPATCH,
        MAX_STATES, PassiveArmNavigation, RecvMeta, ScopeRegion, SendMeta, state_index_to_usize,
    },
};