Пример #1
0
        public ZerioServer(int listeningPort)
        {
            WinSock.EnsureIsInitialized();

            _listeningPort = listeningPort;

            _configuration    = CreateConfiguration();
            _completionQueues = CreateCompletionQueues();
            _sessionManager   = CreateSessionManager();

            _requestProcessingEngine    = CreateRequestProcessingEngine();
            _receiveCompletionProcessor = CreateReceiveCompletionProcessor();

            _listeningSocket = CreateListeningSocket();
        }
Пример #2
0
        public void SetUp()
        {
            _configuration = new InternalZerioConfiguration
            {
                MaxReceiveCompletionResults = 5,
            };

            _testCompletionQueue = new TestCompletionQueue();
            _sessionManagerMock  = new Mock <ISessionManager>();

            _sessionMock = new Mock <ISession>();
            var session = _sessionMock.Object;

            _sessionManagerMock.Setup(x => x.TryGetSession(_sessionId, out session)).Returns(true);

            _processor = new ReceiveCompletionProcessor(_configuration, _testCompletionQueue, _sessionManagerMock.Object);
        }
Пример #3
0
        public ZerioClient(IPEndPoint serverEndpoint, ZerioClientConfiguration clientConfiguration = null)
        {
            _serverEndpoint = serverEndpoint;

            WinSock.EnsureIsInitialized();

            _configuration    = CreateConfiguration(clientConfiguration);
            _completionQueues = CreateCompletionQueues();
            _sessionManager   = CreateSessionManager();

            _sendRequestProcessingEngine = CreateSendRequestProcessingEngine();
            _receiveCompletionProcessor  = CreateReceiveCompletionProcessor();

            _session = _sessionManager.Acquire();
            _session.HandshakeReceived += OnHandshakeReceived;
            _session.Closed            += OnSessionClosed;
        }
Пример #4
0
        private ReceiveCompletionProcessor CreateReceiveCompletionProcessor()
        {
            var receiver = new ReceiveCompletionProcessor(_configuration, _completionQueues.ReceivingQueue, _sessionManager);

            return(receiver);
        }