public OrderBookActor(string tickerSymbol, MatchingEngine matchingEngine, ITradeEventPublisher publisher, ITradeEventSubscriptionManager subscriptionManager, IActorRef confirmationActor) { TickerSymbol = tickerSymbol; _matchingEngine = matchingEngine ?? CreateDefaultMatchingEngine(tickerSymbol, _log); _publisher = publisher; _confirmationActor = confirmationActor; _subscriptionManager = subscriptionManager; Recovers(); Commands(); }
public MatchAggregator(string tickerSymbol, ITradeEventSubscriptionManager tradeSubscriptionManager, IMarketEventSubscriptionManager marketEventSubscriptionManager, IMarketEventPublisher marketEventPublisher, ITimestamper timestamper = null) { TickerSymbol = tickerSymbol; _timestamper = timestamper ?? CurrentUtcTimestamper.Instance; _tradeSubscriptionManager = tradeSubscriptionManager; _marketEventSubscriptionManager = marketEventSubscriptionManager; _marketEventPublisher = marketEventPublisher; PersistenceId = EntityIdHelper.IdForPricing(tickerSymbol); Recovers(); Commands(); }
public AskerActor(string tickerSymbol, ITradeEventSubscriptionManager subscriptionManager, IActorRef tradeGateway, PriceRange targetRange, ITradeOrderIdGenerator tradeOrderIdGenerator, ITimestamper timestampGenerator) { _tickerSymbol = tickerSymbol; _subscriptionManager = subscriptionManager; _tradeGateway = tradeGateway; _targetRange = targetRange; _tradeOrderIdGenerator = tradeOrderIdGenerator; _timestampGenerator = timestampGenerator; _traderId = $"{_tickerSymbol}-{_tradeOrderIdGenerator.NextId()}"; Self.Tell(DoSubscribe.Instance); Subscribing(); }