Example #1
0
        public async Task ResponseMap_Shutdown_SubsequentAddHasErrorResult()
        {
            var respMap = new ResponseMap();
            respMap.Shutdown();

            Task<IMessage> responseTask = respMap.Add(1);

            Assert.AreEqual(0, respMap.OutstandingCount);
            IMessage response = await responseTask;
            Assert.IsTrue(response.IsError);
            Error err = response.Error.Deserialize();
            Assert.AreEqual((int)ErrorCode.CONNECTION_SHUT_DOWN, err.error_code);
        }
        private State DoDisconnect()
        {
            logger.Site().Debug("{0} Shutting down.", this);

            networkStream.Shutdown();

            if (connectionType == ConnectionType.Server)
            {
                parentListener.InformDisconnected(this, errorDetails);
            }

            responseMap.Shutdown();

            return(State.Disconnected);
        }
Example #3
0
        public async Task ResponseMap_Shutdown_PendingResponsesCompletedWithError()
        {
            var respMap = new ResponseMap();
            Task<IMessage> responseTask = respMap.Add(1);

            respMap.Shutdown();
            respMap.Complete(1, anyResponse);

            Assert.AreEqual(0, respMap.OutstandingCount);

            var response = await responseTask;
            Assert.IsTrue(response.IsError);
            Error err = response.Error.Deserialize();
            Assert.AreEqual((int)ErrorCode.CONNECTION_SHUT_DOWN, err.error_code);
        }