public PullMessageCommandV2(int type, String topic, int partition, String groupId, Offset offset, int size, long expireTime)
     : base(CommandType.MessagePull, 2)
 {
     PullType = type;
     Topic = topic;
     Partition = partition;
     GroupId = groupId;
     Offset = offset;
     Size = size;
     ExpireTime = expireTime;
 }
 protected override void Parse0(IoBuffer buf)
 {
     HermesPrimitiveCodec codec = new HermesPrimitiveCodec(buf);
     Offset = codec.ReadOffset();
 }
 public void WriteOffset(Offset offset)
 {
     if (offset == null)
     {
         WriteNull();
     }
     else
     {
         WriteLong(offset.PriorityOffset);
         WriteLong(offset.NonPriorityOffset);
         WriteLong(offset.ResendOffset.Key.CurrentTimeMillis());
         WriteLong(offset.ResendOffset.Value);
     }
 }
 public QueryOffsetResultCommand(Offset offset)
     : base(CommandType.ResultQueryOffset, 1)
 {
     Offset = offset;
 }