Exemplo n.º 1
1
        void Run()
        {
            _rtd = new CryptoRtdServer();
            _rtd.ServerStart(this);

            const string BINANCE = "BINANCE";

            foreach (string field in RtdFields.ALL_FIELDS)
            {
                Sub(BINANCE, "ETHUSDT", field);
            }

            Sub(CryptoRtdServer.GDAX, "BTC-USD", "BID");
            Sub(CryptoRtdServer.GDAX, "BTC-USD", "ASK");
            Sub(CryptoRtdServer.GDAX, "BTC-USD", "LAST_PRICE");
            Sub(CryptoRtdServer.GDAX, "BTC-USD", "LAST_SIZE");
            Sub(CryptoRtdServer.GDAX, "BTC-USD", "LAST_SIDE");

            //Sub(CryptoRtdServer.GDAX, "ETH-USD", "BID");
            //Sub(CryptoRtdServer.GDAX, "ETH-USD", "ASK");
            //Sub(CryptoRtdServer.GDAX, "ETH-USD", "LAST_PRICE");
            //Sub(CryptoRtdServer.GDAX, "ETH-USD", "LAST_SIZE");
            //Sub(CryptoRtdServer.GDAX, "ETH-USD", "LAST_SIDE");

            // Start up a Windows message pump and spin forever.
            Dispatcher.Run();
        }
Exemplo n.º 2
0
        void Run()
        {
            _rtd = new RabbitRtdServer();
            _rtd.ServerStart(this);

            Sub("BTC-USD", "BID");
            Sub("BTC-USD", "ASK");

            // Start up a Windows message pump and spin forever.
            Dispatcher.Run();
        }
Exemplo n.º 3
0
        /// <summary>
        /// connect to a RTD Server
        /// </summary>
        /// <param name="progID">RTD Server ProgID</param>
        /// <param name="refreshRate">data refresh rate, default = -1</param>
        /// <returns>true if connected successfully, false otherwise</returns>
        public bool Connect(string progID, int refreshRate)
        {
            if (!connected)
            {
                // create RTD server instance
                if (rtdServer == null)
                {
                    Type rtd = Type.GetTypeFromProgID(progID);
                    if (rtd == null)
                    {
                        return(false);
                    }
                    rtdServer = (IRtdServer)Activator.CreateInstance(rtd);
                }

                // create updateEvent
                UpdateEvent updateEvent = new UpdateEvent(NewDataEvent, refreshRate);

                // connect
                object ret = rtdServer.ServerStart(updateEvent);
                if (ret != null)
                {
                    if ((int)ret >= 0)
                    {
                        connected = true;
                        OnConnect();
                        // establish heartbeat
                        timer = new Timer(new TimerCallback(TimerEventHandler), null, 0, 5000);
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                return(true);
            }
        }
Exemplo n.º 4
0
        void Run()
        {
            _rtd = new RedisRtdServer();
            _rtd.ServerStart(this);

            CancellationTokenSource cts = new CancellationTokenSource();

            for (int i = 0; i < 3; i++)
            {
                var json = "JSON_" + i;
                var raw  = "RAW_" + i;

                Task.Run(() => PublishRedis(json, "FIELD", true, cts.Token));
                Task.Run(() => PublishRedis(raw, "FIELD", false, cts.Token));
            }

            // Start up a Windows message pump and spin forever.
            Dispatcher.Run();
        }
Exemplo n.º 5
0
 public int ServerStart(IRTDUpdateEvent CallbackObject)
 {
     try
     {
         using (XlCall.Suspend())
         {
             if (_rtdServer != null)
             {
                 return(_rtdServer.ServerStart(CallbackObject));
             }
             // CallbackObject will actually be a RCW (__ComObject) so the type 'mismatch' calling Invoke never arises.
             return(_ServerStart(CallbackObject));
         }
     }
     catch (Exception e)
     {
         Logger.RtdServer.Error("Error in RTD server {0} ServerStart: {1}", _progId, e.ToString());
         return(0);
     }
 }
Exemplo n.º 6
0
        void Run()
        {
            _rtd = new WebSocketRtdServer();
            _rtd.ServerStart(this);

            Sub("BTC-USD", "BID");
            Sub("BTC-USD", "ASK");
            Sub("BTC-USD", "LAST_PRICE");
            Sub("BTC-USD", "LAST_SIZE");
            Sub("BTC-USD", "LAST_SIDE");

            Sub("ETH-USD", "BID");
            Sub("ETH-USD", "ASK");
            Sub("ETH-USD", "LAST_PRICE");
            Sub("ETH-USD", "LAST_SIZE");
            Sub("ETH-USD", "LAST_SIDE");

            // Start up a Windows message pump and spin forever.
            Dispatcher.Run();
        }
Exemplo n.º 7
0
        void Run()
        {
            _rtd = new RabbitRtdServer();
            _rtd.ServerStart(this);

            CancellationTokenSource cts = new CancellationTokenSource();

            for (int i = 0; i < 3; i++)
            {
                var rk = "ROUTING_KEY_" + i;
                var b  = i % 2 == 0;
                Task.Run(() => PublishRabbit("EXCHANGE", rk, "FIELD", b, cts.Token));

                if (consoleAppTest)
                {
                    Sub("EXCHANGE", rk, "FIELD");
                }
            }

            // Start up a Windows message pump and spin forever.
            Dispatcher.Run();
        }
Exemplo n.º 8
0
 void Connect()
 {
     _server = RtdClient.COMCreateObject(_rtd_name) as IRtdServer;
     _server.ServerStart(this);
 }