pub struct FlowGraphMeta {
pub version_hash: [u8; 32],
pub compiled_at: SystemTime,
pub source_files: Vec<PathBuf>,
pub feature_set: &'static [&'static str],
pub short_circuit_response_entry: BTreeMap<NodeId, NodeId>,
pub listener_tls: BTreeMap<SocketAddr, ListenerTlsSpec>,
}Fields§
§version_hash: [u8; 32]§compiled_at: SystemTime§source_files: Vec<PathBuf>§feature_set: &'static [&'static str]§short_circuit_response_entry: BTreeMap<NodeId, NodeId>Map of L7-listener entry NodeId → synthesised
Terminate(WriteHttpResponse) NodeId. The executor jumps here
when an L7 request middleware returns
Decision::Short(ShortCircuit::Response(_)): it sets the response
slot and walks to the synth target so the response runs through
the standard WriteHttpResponse write path. Empty for L4-only
graphs and for any L7 entry whose listener is not bound to a
post-Upgrade chain (which the lower pass guarantees never
happens for legal L7 listeners). See spec/architecture/02-flow.md
§ FlowGraph metadata.
#[serde(default)] keeps older dry-run JSON snapshots
deserializable: missing field decodes as an empty map, which
matches the legacy “no L7 listeners” graph shape.
listener_tls: BTreeMap<SocketAddr, ListenerTlsSpec>Per-listener cert pool. Symbolic — each entry is the aggregated
(default, sni_certs) view across every rule on the bind
address that carried a tls block; the engine’s link stage
reads PEM files referenced here and builds a rustls::ServerConfig
with an SNI resolver that falls back to default for unmatched
SNI. Listeners absent from this map are cleartext. See
spec/architecture/08-tls.md § TLS termination (L4 → L7
upgrade) and § SNI normalization.
#[serde(default)] for the same wire-compat reason as the map
above.
Trait Implementations§
Source§impl Clone for FlowGraphMeta
impl Clone for FlowGraphMeta
Source§fn clone(&self) -> FlowGraphMeta
fn clone(&self) -> FlowGraphMeta
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more