Griffin.Net.Protocols.MicroMsg.MicroMessageDecoder.ProcessReadBytes C# (CSharp) Method

ProcessReadBytes() public method

Process bytes that we've received on the socket.
public ProcessReadBytes ( ISocketBuffer buffer ) : void
buffer ISocketBuffer Buffer to process.
return void
        public void ProcessReadBytes(ISocketBuffer buffer)
        {
            _bytesLeftInSocketBuffer = buffer.BytesTransferred;
            _socketBufferOffset = buffer.Offset;

           
            while (_stateMethod(buffer))
            {
              
            }
        }
    }

Usage Example

        public void complete_header_then_half_typename_then_full_message()
        {
            var args = new SocketBufferFake();
            var body = "Hello world";
            var type = body.GetType().AssemblyQualifiedName;
            var serializer = new StringSerializer();
            object actual = null;
            BitConverter2.GetBytes(MicroMessageEncoder.FixedHeaderLength + type.Length, args.Buffer, 0); //header length
            args.Buffer[2] = MicroMessageDecoder.Version; 
            BitConverter2.GetBytes(body.Length, args.Buffer, 3); //content lkength
            args.Buffer[7] = (byte)(sbyte)type.Length; // type len
            Encoding.ASCII.GetBytes(type, 0, type.Length, args.Buffer, HeaderLengthSize + MicroMessageEncoder.FixedHeaderLength); // type name
            Encoding.ASCII.GetBytes(body, 0, body.Length, args.Buffer, HeaderLengthSize + type.Length + MicroMessageEncoder.FixedHeaderLength); //body

            var sut = new MicroMessageDecoder(serializer);
            sut.MessageReceived = o => actual = o;
            args.BytesTransferred = sizeof(short) + MicroMessageDecoder.FixedHeaderLength;
            sut.ProcessReadBytes(args);

            args.Offset += args.BytesTransferred;
            args.BytesTransferred = type.Length - 31;
            sut.ProcessReadBytes(args);

            args.Offset += args.BytesTransferred;
            args.BytesTransferred = 31;
            sut.ProcessReadBytes(args);

            args.Offset += args.BytesTransferred;
            args.BytesTransferred = body.Length;
            sut.ProcessReadBytes(args);


            actual.Should().NotBeNull();
            actual.Should().Be("Hello world");
        }
All Usage Examples Of Griffin.Net.Protocols.MicroMsg.MicroMessageDecoder::ProcessReadBytes