/// <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); }
/// <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; }
/// <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); } }
/// <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); } }
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); } }