Expand description
The bus capture allow-list.
EncoderRegistry is the allow-list the crate::capture::BusCaptureAdapter consults
at every dispatch boundary. A message whose Rust type has no registered encoder is not
captured: the SPEC names a closed list of state-affecting topics, and silent capture of
out-of-allow-list types would produce entries the verifier process cannot decode.
Registration binds three things:
- The Rust type the encoder consumes (used as the
std::any::TypeIdlookup key). - The canonical
crate::PayloadTypetag stamped on every entry the encoder produces. - The encoder closure that produces the payload bytes plus sidecar
crate::IndexKeys.
A registration may additionally carry an identity extractor: production dispatch pushes the same typed message through multiple tap-visible boundaries (an order event is sent to the portfolio endpoint and published on its strategy topic), and the adapter uses the extracted identity to capture each logical message exactly once.
Structs§
- Encoder
Registry - Allow-list of capturable Rust message types and their encoders.
- Typed
Headers Extractor - Typed adapter that downcasts to
Tand forwards to aFn(&T) -> Headersclosure. - Typed
Identity Extractor - Typed adapter that downcasts to
Tand forwards to aFn(&T) -> Option<UUID4>closure.
Traits§
- Headers
Extractor - Extracts correlation
Headersfrom a captured message at the dispatch boundary. - Identity
Extractor - Extracts the logical message identity (event id, command id) from a captured message.