protected override async Task HandleResponse(string json, CancellationToken token) { var msg = EventResponse.Parse(json) ?? (dynamic)HeartbeatResponse.Parse(json) ?? TradeExecutionUpdate.Parse(json); if (msg != null) { await HandleResponse(msg); RechargePingPong(); } }
private async Task <dynamic> GetResponse() { var json = await Messenger.GetResponseAsync(CancellationToken); var result = EventResponse.Parse(json) ?? TickerResponse.Parse(json) ?? OrderBookSnapshotResponse.Parse(json) ?? (dynamic)OrderBookUpdateResponse.Parse(json) ?? HeartbeatResponse.Parse(json); return(result); }
protected override async Task HandleResponse(string json, CancellationToken token) { dynamic msg = null; try { msg = EventResponse.Parse(json) ?? (dynamic)HeartbeatResponse.Parse(json) ?? TradeExecutionUpdate.Parse(json); } catch (JsonSerializationException) { await _log.WriteWarningAsync(nameof(HandleResponse), "Unexpected message", json); } if (msg != null) { await HandleResponse(msg); RechargePingPong(); } }