pub enum PartitionFamily {
Flow,
Execution,
Budget,
Quota,
}Expand description
The partition families in FlowFabric.
Post-RFC-011: Execution and Flow are now routing aliases —
both produce the same {fp:N} hash-tag, because execution keys
co-locate with their parent flow’s partition under hash-tag
co-location. The Execution variant is deliberately retained
per RFC-011 §11 Non-goals (“Deleting PartitionFamily::Execution
from the public API. The variant stays for API compatibility; only
its routing behaviour changes.”), so downstream crates like
cairn-fabric that construct Partition { family: Execution, .. }
continue to compile and route correctly without source changes.
New FF-internal code should prefer PartitionFamily::Flow for
clarity — the Execution alias exists solely to preserve the
public-API contract promised by RFC-011. The logical distinction
between exec-scoped and flow-scoped keys continues to live in the
key-name prefix (ff:exec:* vs ff:flow:*), not in the
PartitionFamily discriminator.
Variants§
Flow
Flow-structural + execution partition: {fp:N} — flow topology
and all per-execution keys co-located with their parent flow.
Execution
Execution partition — routing alias for PartitionFamily::Flow
under RFC-011 co-location. Produces {fp:N} hash-tags identical to
Flow and indexes into num_flow_partitions. Kept as a distinct
variant per RFC-011 §11 for downstream-API compatibility (cairn-
fabric and other consumers that construct this variant directly).
Budget
Budget partition: {b:M} — budget definitions and usage.
Quota
Quota partition: {q:K} — quota policies and sliding windows.
Trait Implementations§
Source§impl Clone for PartitionFamily
impl Clone for PartitionFamily
Source§fn clone(&self) -> PartitionFamily
fn clone(&self) -> PartitionFamily
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more