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();
        }
Esempio n. 2
0
        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();
 }