IStorageSink¶
IStorageSink defines the interface for persisting executed orders and related trading data. It abstracts away the underlying storage mechanism (e.g. MongoDB, binary log, cloud).
class IStorageSink : public ISubsystem {
public:
virtual ~IStorageSink() = default;
virtual void store(const Order& order) = 0;
};
Purpose¶
- Persist orders for post-trade audit, reconciliation, analytics, or compliance.
Responsibilities¶
| Method | Description |
|---|---|
store |
Persists the provided Order object. |
Notes¶
- Called when orders are filled, canceled, or otherwise finalized.
- Backends may include MongoDB, file-based logs, or in-memory mirrors.
- Integrated via
ISubsystemfor lifecycle control and flush handling.