Exemplo n.º 1
0
        public async Task ReceiveOrderBook()
        {
            await _clientWebSocket.ConnectAsync(CancellationToken.None);

            var info = await _clientWebSocket.GetResponseAsync(CancellationToken.None);

            Assert.NotNull(info);

            var request = SubscribeOrderBooksRequest.BuildRequest("BTCUSD", "", "R0");

            await _clientWebSocket.SendRequestAsync(request, CancellationToken.None);

            var successfull = await _clientWebSocket.GetResponseAsync(CancellationToken.None);

            var respose = JsonConvert.DeserializeObject <SubscribedResponse>(successfull);

            var snapshot = await _clientWebSocket.GetResponseAsync(CancellationToken.None);

            OrderBookSnapshotResponse.Parse(snapshot);

            var update = await _clientWebSocket.GetResponseAsync(CancellationToken.None);

            OrderBookUpdateResponse.Parse(update);

            Assert.NotNull(respose);
        }
Exemplo n.º 2
0
        private async Task SubscribeToOrderBookAsync(IEnumerable <string> instruments)
        {
            foreach (var instrument in instruments)
            {
                var request = SubscribeOrderBooksRequest.BuildRequest(instrument, "F0", "R0");
                await Messenger.SendRequestAsync(request, CancellationToken);

                var response = await GetResponse();
                await HandleResponse(response);
            }
        }
        private async Task SubscribeToOrderBookAsync(IEnumerable <string> instruments)
        {
            foreach (var instrument in instruments)
            {
                try
                {
                    var request = SubscribeOrderBooksRequest.BuildRequest(instrument, "F1", "R0");
                    await Messenger.SendRequestAsync(request, CancellationToken);

                    var response = await GetResponse();
                    await HandleResponse(response);
                }
                catch (Exception ex)
                {
                    await Log.WriteWarningAsync(nameof(BitfinexOrderBooksHarvester), nameof(SubscribeToOrderBookAsync), instrument, ex);

                    throw;
                }
            }
        }