示例#1
0
        public void OnHeader(Stream stream, byte[] header)
        {
            CollectionAssert.AreEqual(expectedHeader, header, "Header should match");

            if (response != null && response.Length > 0)
            {
                stream.Write(response, 0, response.Length);
            }

            var frameContext = new FrameContext(stream, 0);

            foreach (var completeAction in onCompleteActions)
            {
                completeAction.Invoke(frameContext);
            }
        }
示例#2
0
        public bool OnFrame(Stream stream, ushort channel, DescribedList describedList, Amqp.Message message)
        {
            Assert.IsNotNull(describedList);
            Assert.IsInstanceOf <T>(describedList, $"Wrong frame! Expected: {typeof(T).Name} but received: {describedList.GetType().Name}");

            T command = (T)describedList;

            foreach (var assertion in assertions)
            {
                assertion(command, message);
            }

            var frameContext = new FrameContext <T>(stream, channel, command);

            foreach (var onCompleteAction in onCompleteActions)
            {
                onCompleteAction.Invoke(frameContext);
            }

            return(shouldContinue);
        }