コード例 #1
0
        /// <summary>
        /// Creates an instance of a websockets brokerage
        /// </summary>
        /// <param name="wssUrl">Websockets base url</param>
        /// <param name="websocket">Websocket client instance</param>
        /// <param name="restClient">Rest client instance</param>
        /// <param name="apiKey">Brokerage api auth key</param>
        /// <param name="apiSecret">Brokerage api auth secret</param>
        /// <param name="websocketMaximumIdle">The maximum amount of time the socket can go idle before triggering a reconnect</param>
        /// <param name="name">Name of brokerage</param>
        protected BaseWebsocketsBrokerage(string wssUrl, IWebSocket websocket, IRestClient restClient, string apiKey, string apiSecret, TimeSpan websocketMaximumIdle, string name) : base(name)
        {
            JsonSettings = new JsonSerializerSettings {
                FloatParseHandling = FloatParseHandling.Decimal
            };
            CachedOrderIDs     = new ConcurrentDictionary <int, Orders.Order>();
            _connectionHandler = new DefaultConnectionHandler {
                MaximumIdleTimeSpan = websocketMaximumIdle
            };

            WebSocket = websocket;
            WebSocket.Initialize(wssUrl);
            WebSocket.Message += (sender, message) =>
            {
                OnMessage(sender, message);
                _connectionHandler.KeepAlive(LastHeartbeatUtcTime);
            };

            _connectionHandler.Initialize(Guid.NewGuid().ToString());
            _connectionHandler.ReconnectRequested += (sender, args) =>
            {
                Reconnect();
            };

            RestClient = restClient;
            ApiSecret  = apiSecret;
            ApiKey     = apiKey;
        }
コード例 #2
0
        /// <summary>
        /// Initialize the instance of this class
        /// </summary>
        /// <param name="wssUrl">The web socket base url</param>
        /// <param name="websocket">instance of websockets client</param>
        /// <param name="restClient">instance of rest client</param>
        /// <param name="apiKey">api key</param>
        /// <param name="apiSecret">api secret</param>
        protected void Initialize(string wssUrl, IWebSocket websocket, IRestClient restClient, string apiKey, string apiSecret)
        {
            if (IsInitialized)
            {
                return;
            }
            IsInitialized = true;
            JsonSettings  = new JsonSerializerSettings {
                FloatParseHandling = FloatParseHandling.Decimal
            };
            CachedOrderIDs = new ConcurrentDictionary <int, Orders.Order>();

            WebSocket = websocket;
            WebSocket.Initialize(wssUrl);
            WebSocket.Message += OnMessage;

            WebSocket.Open += (sender, args) =>
            {
                Log.Trace($"BaseWebsocketsBrokerage(): WebSocket.Open. Subscribing");
                Subscribe(GetSubscribed());
            };

            RestClient = restClient;
            ApiSecret  = apiSecret;
            ApiKey     = apiKey;
        }
コード例 #3
0
 public void Initialize()
 {
     if (true == string.IsNullOrEmpty(Lighthouse.URI))
     {
         Lighthouse.URI = Lighthouse.ZoneType.REAL.GetEnumMemberValue();
     }
     socket.Initialize(Lighthouse.URI);
 }
コード例 #4
0
 /// <summary>
 /// Creates an instance of a websockets brokerage
 /// </summary>
 /// <param name="wssUrl">Websockets base url</param>
 /// <param name="websocket">Websocket client instance</param>
 /// <param name="restClient">Rest client instance</param>
 /// <param name="apiKey">Brokerage api auth key</param>
 /// <param name="apiSecret">Brokerage api auth secret</param>
 /// <param name="market">Name of market</param>
 /// <param name="name">Name of brokerage</param>
 public BaseWebsocketsBrokerage(string wssUrl, IWebSocket websocket, IRestClient restClient, string apiKey, string apiSecret, string market, string name) : base(name)
 {
     WebSocket = websocket;
     WebSocket.Initialize(wssUrl);
     RestClient = restClient;
     _market    = market;
     ApiSecret  = apiSecret;
     ApiKey     = apiKey;
 }
コード例 #5
0
        /// <summary>
        /// Creates an instance of a websockets brokerage
        /// </summary>
        /// <param name="wssUrl">Websockets base url</param>
        /// <param name="websocket">Websocket client instance</param>
        /// <param name="restClient">Rest client instance</param>
        /// <param name="apiKey">Brokerage api auth key</param>
        /// <param name="apiSecret">Brokerage api auth secret</param>
        /// <param name="brokerageMarket">Name of market</param>
        /// <param name="name">Name of brokerage</param>
        public BaseWebsocketsBrokerage(string wssUrl, IWebSocket websocket, IRestClient restClient, string apiKey, string apiSecret, string brokerageMarket, string name) : base(name)
        {
            WebSocket = websocket;

            WebSocket.Initialize(wssUrl);

            WebSocket.Message += OnMessage;
            WebSocket.Error   += OnError;

            RestClient      = restClient;
            BrokerageMarket = brokerageMarket;
            ApiSecret       = apiSecret;
            ApiKey          = apiKey;
        }