pub struct RuntimeTransportContract {
pub transport_name: String,
pub transport_type: String,
pub role_addressed_routing: bool,
pub authenticated_peers: bool,
pub per_peer_fifo_delivery: bool,
pub fail_closed_unknown_role: bool,
pub no_message_synthesis: bool,
pub explicit_readiness_errors: bool,
pub deterministic_for_regression: bool,
}Expand description
Machine-side summary of a selected transport contract.
This is semantic evidence, not a transport implementation hook. Concrete
transport crates translate their selected authentication, routing, and
delivery mode into these fields; telltale-machine only checks whether the
selected runtime path satisfies the theorem-pack assumptions. That keeps the
machine independent of TCP, TLS, pre-shared keys, or any other concrete
authentication mechanism.
Fields§
§transport_name: StringStable transport/profile name.
transport_type: StringHuman-readable transport kind, e.g. InMemory or Tcp.
role_addressed_routing: boolWhether messages are routed by role identity.
authenticated_peers: boolWhether peer identity is authenticated at the transport boundary.
This must be false for trusted-network-only transports. Theorem packs
that depend on protocol-origin integrity require this field to be true.
per_peer_fifo_delivery: boolWhether each peer stream preserves FIFO delivery.
fail_closed_unknown_role: boolWhether unknown role claims are rejected instead of admitted.
no_message_synthesis: boolWhether the transport can synthesize messages not sent by a peer.
explicit_readiness_errors: boolWhether startup/readiness failures are surfaced explicitly.
deterministic_for_regression: boolWhether the transport is deterministic enough for regression harnesses.
Implementations§
Source§impl RuntimeTransportContract
impl RuntimeTransportContract
Sourcepub fn new(
transport_name: impl Into<String>,
transport_type: impl Into<String>,
) -> Self
pub fn new( transport_name: impl Into<String>, transport_type: impl Into<String>, ) -> Self
Start a semantic transport contract summary.
All semantic fields default to false so callers must opt in to each
contract they can justify for the selected runtime transport.
Sourcepub fn first_party_in_memory() -> Self
pub fn first_party_in_memory() -> Self
Contract summary for the first-party in-process channel transport.
Sourcepub fn with_role_addressed_routing(self, value: bool) -> Self
pub fn with_role_addressed_routing(self, value: bool) -> Self
Set whether messages are routed by role identity.
Sourcepub fn with_authenticated_peers(self, value: bool) -> Self
pub fn with_authenticated_peers(self, value: bool) -> Self
Set whether peer identity is authenticated at the transport boundary.
Set this to true only when the selected transport mode cryptographically
or otherwise operationally binds a peer to its claimed role. Plain TCP on
a trusted network should leave this false.
Sourcepub fn with_per_peer_fifo_delivery(self, value: bool) -> Self
pub fn with_per_peer_fifo_delivery(self, value: bool) -> Self
Set whether each peer stream preserves FIFO delivery.
Sourcepub fn with_fail_closed_unknown_role(self, value: bool) -> Self
pub fn with_fail_closed_unknown_role(self, value: bool) -> Self
Set whether unknown role claims are rejected instead of admitted.
Sourcepub fn with_no_message_synthesis(self, value: bool) -> Self
pub fn with_no_message_synthesis(self, value: bool) -> Self
Set whether the transport can synthesize messages not sent by a peer.
Sourcepub fn with_explicit_readiness_errors(self, value: bool) -> Self
pub fn with_explicit_readiness_errors(self, value: bool) -> Self
Set whether startup/readiness failures are surfaced explicitly.
Sourcepub fn with_deterministic_for_regression(self, value: bool) -> Self
pub fn with_deterministic_for_regression(self, value: bool) -> Self
Set whether the transport is deterministic enough for regression harnesses.
Trait Implementations§
Source§impl Clone for RuntimeTransportContract
impl Clone for RuntimeTransportContract
Source§fn clone(&self) -> RuntimeTransportContract
fn clone(&self) -> RuntimeTransportContract
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more