Skip to main content

register_default

Function register_default 

Source
pub fn register_default(registry: &mut EncoderRegistry)
Expand description

Adds the default encoders to registry.

The bare-type registrations remain for capture sites that already submit the inner type directly (the kernel’s RunStarted path and a few internal tests). The envelope registrations are what production bus traffic actually hits: send_trading_command reaches the tap as [TradingCommand], publish_order_event reaches it as [OrderEventAny], send_execution_report reaches it as [ExecutionReport], publish_position_event reaches it as [PositionEvent], and send_data_response reaches it as [DataResponse]. Without these wrapper-aware dispatchers the tap looks up the wrapper’s std::any::TypeId, finds no encoder, and silently drops the capture.

[AccountState] is registered as a bare type: publish_account_state and send_account_state both reach the tap as the same AccountState TypeId, so a single registration covers both dispatch paths.

[OrderStatusReport], [FillReport], and [PositionStatusReport] are registered as bare types because the execution engine publishes raw venue reports through publish_any on reconciliation.raw.* topics before any state mutation. The bare-type registration is what captures those raw inputs for forensic replay.