Beispiel #1
0
        internal RioTcpConnection(IntPtr socket, long connectionId, IntPtr requestQueue, RioThread rioThread, RegisteredIO rio)
        {
            _socket       = socket;
            _connectionId = connectionId;
            _rio          = rio;
            _rioThread    = rioThread;

            _input  = new ResetablePipe(new PipeOptions(rioThread.Pool));
            _output = new ResetablePipe(new PipeOptions(rioThread.Pool));

            _requestQueue = requestQueue;

            rioThread.AddConnection(connectionId, this);

            ProcessReceives();
            _sendTask = ProcessSends();
        }
        internal RioTcpConnection(IntPtr socket, long connectionId, IntPtr requestQueue, RioThread rioThread, RegisteredIO rio)
        {
            _socket       = socket;
            _connectionId = connectionId;
            _rio          = rio;
            _rioThread    = rioThread;

            _input  = rioThread.PipelineFactory.Create();
            _output = rioThread.PipelineFactory.Create();

            _requestQueue = requestQueue;

            rioThread.AddConnection(connectionId, this);

            ProcessReceives();
            _sendTask = ProcessSends();
        }