Versions in this module Expand all Collapse all v1 v1.0.0 Jun 16, 2026 Changes in this version + func EventTime(event model.MarketEvent) time.Time + type BarAggregator struct + func NewBarAggregator(barType model.BarType) (*BarAggregator, error) + func (a *BarAggregator) Flush() (model.Bar, bool, error) + func (a *BarAggregator) Update(event model.MarketEvent) (model.Bar, bool, error) + type Catalog interface + Query func(context.Context, model.DataRequest) (model.DataResponse, error) + Write func(context.Context, ...model.MarketEvent) error + type ClientHealth struct + ClientID string + Health venue.DataHealth + Stale bool + Venue model.Venue + type Config struct + Bus *bus.Bus + Cache *cache.Cache + Catalog Catalog + ReconnectPolicy RetryPolicy + StaleAfter time.Duration + type Engine struct + func NewEngine(cfg Config) *Engine + func (e *Engine) AddBarAggregation(barType model.BarType) error + func (e *Engine) AddClient(client venue.DataClient) error + func (e *Engine) Events() <-chan model.MarketEvent + func (e *Engine) Health() Health + func (e *Engine) Request(ctx context.Context, request model.DataRequest) (model.DataResponse, error) + func (e *Engine) Start(ctx context.Context) error + func (e *Engine) Stop(ctx context.Context) error + func (e *Engine) Subscribe(ctx context.Context, sub model.SubscribeMarketData) error + func (e *Engine) Unsubscribe(ctx context.Context, sub model.SubscribeMarketData) error + type Health struct + AggregatedBars int64 + Clients int + ClientsHealth []ClientHealth + Events int64 + LastError error + LastEventTime time.Time + Requests int64 + Running bool + StaleClients int + Subscriptions int + type MemoryCatalog struct + func NewMemoryCatalog(events ...model.MarketEvent) *MemoryCatalog + func (c *MemoryCatalog) Events(context.Context) ([]model.MarketEvent, error) + func (c *MemoryCatalog) Query(_ context.Context, request model.DataRequest) (model.DataResponse, error) + func (c *MemoryCatalog) Write(_ context.Context, events ...model.MarketEvent) error + type ReplayCatalog interface + Events func(context.Context) ([]model.MarketEvent, error) + type RetryPolicy struct + Backoff time.Duration + MaxAttempts int