public RealtimeOrderBookClient(string ProductString, CBAuthenticationContainer auth = null) { this.ProductString = ProductString; this.productOrderBookClient = new ProductOrderBookClient(auth); Sells = new ObservableSortedDictionary <decimal, ObservableLinkedList <BidAskOrder> >(new DescendingComparer <decimal>()); Buys = new ObservableSortedDictionary <decimal, ObservableLinkedList <BidAskOrder> >(new DescendingComparer <decimal>()); this.RealtimeOrderBookSubscription = new RealtimeOrderBookSubscription(ProductString, auth); this.RealtimeOrderBookSubscription.RealtimeOpen += OnOpen; this.RealtimeOrderBookSubscription.RealtimeDone += OnDone; this.RealtimeOrderBookSubscription.RealtimeMatch += OnMatch; this.RealtimeOrderBookSubscription.RealtimeChange += OnChange; //await ResetStateWithFullOrderBook(); }
public RealtimeOrderBookClient(string ProductString, RealtimeOrderBookSubscription realtimeOrderBookSubscription, CBAuthenticationContainer auth = null) { this.ProductString = ProductString; this.productOrderBookClient = new ProductOrderBookClient(auth); Sells = new ConcurrentObservableSortedDictionary <decimal, ObservableLinkedList <BidAskOrder> >(isMultithreaded: true, comparer: new DescendingComparer <decimal>()); Buys = new ConcurrentObservableSortedDictionary <decimal, ObservableLinkedList <BidAskOrder> >(isMultithreaded: true, comparer: new DescendingComparer <decimal>()); this.RealtimeOrderBookSubscription = realtimeOrderBookSubscription; this.RealtimeOrderBookSubscription.RealtimeOpen += OnOpen; this.RealtimeOrderBookSubscription.RealtimeDone += OnDone; this.RealtimeOrderBookSubscription.RealtimeMatch += OnMatch; this.RealtimeOrderBookSubscription.RealtimeChange += OnChange; // not really used for anything except for their sequence number this.RealtimeOrderBookSubscription.RealtimeReceived += OnReceived; this.RealtimeOrderBookSubscription.RealtimeLastMatch += OnLastMatch; this.RealtimeOrderBookSubscription.Heartbeat += OnHeartbeat; this.RealtimeOrderBookSubscription.ConnectionClosed += OnConnectionClosed; }