Beispiel #1
0
        /// <summary>
        /// Processes the received message.
        /// </summary>
        /// <param name="message">The message.</param>
        private void ProcessRecievedMessage(UninterestedMessage message)
        {
            message.CannotBeNull();

            if (this.HandshakeState == HandshakeState.SendAndReceived)
            {
                this.EnqueueUploadMessage(message);
            }
            else
            {
                this.OnCommunicationErrorOccurred(this, new PeerCommunicationErrorEventArgs("Invalid message sequence.", true));
            }
        }
        public void UninterestedMessage_TryDecode()
        {
            UninterestedMessage message;
            int  offset = 0;
            bool isIncomplete;

            byte[] data = "0000000103".ToByteArray();

            if (UninterestedMessage.TryDecode(data, ref offset, data.Length, out message, out isIncomplete))
            {
                Assert.AreEqual(5, message.Length);
                Assert.AreEqual(false, isIncomplete);
                Assert.AreEqual(data.Length, offset);
                CollectionAssert.AreEqual(data, message.Encode());
            }
            else
            {
                Assert.Fail();
            }
        }