Griffin.Net.Protocols.MicroMsg.MicroMessageEncoder.Clear C# (CSharp) Method

Clear() public method

Remove everything used for the last message
public Clear ( ) : void
return void
        public void Clear()
        {
            _bytesEnqueued = 0;
            _bytesTransferred = 0;
            _bytesLeftToSend = 0;

            if (!ReferenceEquals(_bodyStream, _internalStream))
            {
                //bodyStream is null for channels that connected
                //but never sent a message.
                if (_bodyStream != null)
                    _bodyStream.Close();
                _bodyStream = null;
            }
            else
                _internalStream.SetLength(0);

            _headerIsSent = false;
            _headerSize = 0;
            _message = null;
        }

Usage Example

        public void can_clear_even_without_shit_being_used()
        {
            var serializer = new StringSerializer();
            var slice = new BufferSlice(new byte[65535], 0, 65535);
            var msg = "Hello world";
            var buffer = new SocketBufferFake();

            var sut = new MicroMessageEncoder(serializer, slice);
            sut.Clear();
            sut.Prepare(msg);
            sut.Send(buffer);

            var field = sut.GetType().GetField("_bodyStream", BindingFlags.Instance | BindingFlags.NonPublic);
            ((Stream)field.GetValue(sut)).CanWrite.Should().BeTrue();
        }
All Usage Examples Of Griffin.Net.Protocols.MicroMsg.MicroMessageEncoder::Clear