コード例 #1
0
        /// <summary>
        /// Serializes request and sends message via websocket communicator.
        /// It logs and re-throws every exception.
        /// </summary>
        /// <param name="request">Request/message to be sent</param>
        public void Send <T>(T request) where T : RequestBase
        {
            try
            {
                BitstampValidations.ValidateInput(request, nameof(request));

                var serialized =
                    BitstampJsonSerializer.Serialize(request);

                _communicator.Send(serialized);
            }
            catch (Exception e)
            {
                Log.Error(e, L($"Exception while sending message '{request}'. Error: {e.Message}"));
                throw;
            }
        }
コード例 #2
0
        private bool HandleObjectMessage(string msg)
        {
            var response = BitstampJsonSerializer.Deserialize <JObject>(msg);

            // ********************
            // ADD OBJECT HANDLERS BELOW
            // ********************

            return
                (SubscriptionSucceeded.TryHandle(response, Streams.SubscriptionSucceededSubject) ||
                 UnsubscriptionSucceeded.TryHandle(response, Streams.UnsubscriptionSucceededSubject) ||
                 //OrderBookSnapshotResponse.TryHandle(response, Streams.OrderBookSnapshotSubject) ||
                 Ticker.TryHandle(response, Streams.TickerSubject) ||
                 OrderBookResponse.TryHandle(response, Streams.OrderBookSubject) ||
                 OrderBookDetailResponse.TryHandle(response, Streams.OrderBookDetailSubject) ||
                 OrderBookDiffResponse.TryHandle(response, Streams.OrderBookDiffSubject) ||
                 ErrorResponse.TryHandle(response, Streams.ErrorSubject) ||
                 OrderResponse.TryHandle(response, Streams.OrdersSubject) ||
                 false);
        }