public virtual void ReadFrom(byte[] recordBuffer) { var srcOffset = 0; LogPosition = MessageUtils.DecodeLong(recordBuffer, srcOffset, out srcOffset); MessageId = MessageUtils.DecodeString(recordBuffer, srcOffset, out srcOffset); Topic = MessageUtils.DecodeString(recordBuffer, srcOffset, out srcOffset); Code = MessageUtils.DecodeInt(recordBuffer, srcOffset, out srcOffset); Body = MessageUtils.DecodeBytes(recordBuffer, srcOffset, out srcOffset); QueueId = MessageUtils.DecodeInt(recordBuffer, srcOffset, out srcOffset); QueueOffset = MessageUtils.DecodeLong(recordBuffer, srcOffset, out srcOffset); CreatedTime = MessageUtils.DecodeDateTime(recordBuffer, srcOffset, out srcOffset); StoredTime = MessageUtils.DecodeDateTime(recordBuffer, srcOffset, out srcOffset); }