예제 #1
0
        public InternalMessage(byte[] bytes)
        {
            var ms = new MessageStream(bytes);

            Type          = (InternalMessageType)ms.ReadInt();
            CorrelationId = ms.ReadString();
            Reciever      = ms.ReadString();
            Sender        = ms.ReadString();
            NoAck         = ms.ReadBool();
            Payload       = ms.ReadBytes();
        }
예제 #2
0
        public byte[] ToBytes()
        {
            var ms = new MessageStream(4
                                       + 4 + (CorrelationId?.Length ?? 0)
                                       + 4 + (Reciever?.Length ?? 0)
                                       + 4 + (Sender?.Length ?? 0)
                                       + 4 + (Payload?.Length ?? 0)
                                       + 4);

            ms.Write((int)Type);
            ms.Write(CorrelationId);
            ms.Write(Reciever);
            ms.Write(Sender);
            ms.Write(NoAck);
            ms.Write(Payload);

            return(ms.ToArray());
        }