void GetSnapshot()
        {
            _marketDataReceiver.OnReceivedInput += (s, m) =>
                                                   HandleMessage(m, result =>
            {
                if (result != ErrorCode.Success)
                {
                    throw new InvalidOperationException($"Not Successful Snapshot Sync: {result.Description}");
                }
            });

            Console.WriteLine("Syncing Snapshot...");
            using (var wait = new ManualResetEvent(false))
            {
                _marketDataReceiver.Connect();
                _marketDataReceiver.InnerConsumer().OnPartitionEOF += (_, end) => wait.Set();
                wait.WaitOne();
            }

            _marketDataReceiver.Disconnect();
            _marketDataReceiver.Dispose();
            Console.WriteLine($"Snapshot Synced. Order Count: {_orderBook.Count}, TradeId: {_orderBook.TradeId}");
        }
Esempio n. 2
0
 public void Disconnect()
 {
     _marketDataReceiver.Disconnect();
 }