Example #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="UdpClientConnection"/> class.
        /// </summary>
        /// <param name="socket">The socket channel.</param>
        /// <param name="executor">The executor.</param>
        /// <param name="cepProvider">The cep provider.</param>
        /// <param name="statSec">The stat sec.</param>
        public UdpClientConnection(Socket socket, Executor executor, CEPProvider.ICEPProvider cepProvider, int statSec)
            : base(executor, cepProvider, statSec)
        {
            _dataArray = new byte[64 * 1024]; // maximum udp datagram is 64k

            _socket = socket;
            _socket.BeginReceive(_dataArray, 0, _dataArray.Length, SocketFlags.None, ReceiveCallback, null);
        }
Example #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="TcpClientConnection"/> class.
        /// </summary>
        /// <param name="socketChannel">The socket channel.</param>
        /// <param name="executor">The executor.</param>
        /// <param name="cepProvider">The cep provider.</param>
        /// <param name="statSec">The stat sec.</param>
        public TcpClientConnection(TcpClient socketChannel, Executor executor, CEPProvider.ICEPProvider cepProvider, int statSec)
            : base(executor, cepProvider, statSec)
        {
            socket = socketChannel.Client;

            readThread      = new Thread(ProcessConnection);
            readThread.Name = "EsperServer-cnx-" + MyID;
        }
Example #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ClientConnection"/> class based on
        /// the TCP socket channel.
        /// </summary>
        /// <param name="executor">The executor.</param>
        /// <param name="cepProvider">The cep provider.</param>
        /// <param name="statSec">The stat sec.</param>
        protected ClientConnection(Executor executor, CEPProvider.ICEPProvider cepProvider, int statSec)
        {
            myID           = Interlocked.Increment(ref _id) - 1;
            _dataAssembler = new DataAssembler();
            _dataAssembler.MarketDataEvent += EnqueueEvent;
            _executor    = executor;
            _cepProvider = cepProvider;
            _statSec     = statSec;

            lock (CLIENT_CONNECTIONS_LOCK)
            {
                CLIENT_CONNECTIONS.Put(myID, this);
            }
        }
Example #4
0
        /// <summary>
        /// Starts this instance.
        /// </summary>
        public void Start()
        {
            lock (this)
            {
                // register ESP/CEP engine
                cepProvider = CEPProvider.GetCEPProvider();
                cepProvider.Init(sleepListenerMillis);

                // register statements
                String suffix = MODES.Get("_SUFFIX");
                if (mode == "NOOP")
                {
                    ;
                }
                else
                {
                    String stmtString = MODES.Get(mode) + " " + suffix;
                    Console.WriteLine("Using " + mode + " : " + stmtString);

                    if (MODES.Get(mode).IndexOf('$') < 0)
                    {
                        cepProvider.RegisterStatement(stmtString, mode);
                        Console.WriteLine("\nStatements registered # 1 only");
                    }
                    else
                    {
                        // create a stmt for each symbol
                        for (int i = 0; i < Symbols.SYMBOLS.Length; i++)
                        {
                            if (i % 100 == 0)
                            {
                                Console.WriteLine(".");
                            }
                            String ticker = Symbols.SYMBOLS[i];
                            cepProvider.RegisterStatement(stmtString.Replace("\\$", ticker), mode + "-" + ticker);
                        }
                        Console.WriteLine("\nStatements registered # " + Symbols.SYMBOLS.Length);
                    }
                }
            }

            thread.Start();
        }
        public SimulateClientConnection(int simulationRate, int iterations, Executor executor, CEPProvider.ICEPProvider cepProvider, int statSec)
        {
            lastThroughputTick = _highResolutionTimeProvider.CurrentTime;

            thread      = new Thread(Run);
            thread.Name = "EsperServer-cnx-" + ID++;

            this.iterationsLeft = iterations;
            this.simulationRate = simulationRate;
            this.executor       = executor;
            this.cepProvider    = cepProvider;
            this.statSec        = statSec;
            myID = ID - 1;

            // simulationRate event / s
            // 10ms ~ simulationRate / 1E2
            lock (CLIENT_CONNECTIONS_LOCK)
            {
                CLIENT_CONNECTIONS.Put(myID, this);
            }
        }
Example #6
0
        public SimulateClientConnection(int simulationRate, int iterations, Executor executor, CEPProvider.ICEPProvider cepProvider, int statSec)
        {
            _lastThroughputTick = _highResolutionTimeProvider.CurrentTime;

            _thread      = new Thread(Run);
            _thread.Name = "EsperServer-cnx-" + _id++;

            _iterationsLeft = iterations;
            _simulationRate = simulationRate;
            _executor       = executor;
            _cepProvider    = cepProvider;
            _statSec        = statSec;
            _myId           = _id - 1;

            // simulationRate event / s
            // 10ms ~ simulationRate / 1E2
            lock (CLIENT_CONNECTIONS_LOCK)
            {
                CLIENT_CONNECTIONS.Put(_myId, this);
            }
        }