private void readBatchMetas(HermesPrimitiveCodec codec, List<TppConsumerMessageBatch> batches) { int batchSize = codec.ReadInt(); for (int i = 0; i < batchSize; i++) { TppConsumerMessageBatch batch = new TppConsumerMessageBatch(); int msgSize = codec.ReadInt(); batch.Topic = codec.ReadString(); batch.Partition = codec.ReadInt(); batch.Priority = codec.ReadInt(); batch.Resend = codec.ReadBoolean(); for (int j = 0; j < msgSize; j++) { batch.AddMessageMeta(new MessageMeta(codec.ReadLong(), codec.ReadInt(), codec.ReadLong(), codec.ReadInt(), codec.ReadBoolean())); } batches.Add(batch); } }
private ConcurrentDictionary<Triple<Tpp, string, bool>, List<AckContext>> readMsgSeqMap(HermesPrimitiveCodec codec) { ConcurrentDictionary<Triple<Tpp, string, bool>, List<AckContext>> msgSeqMap = new ConcurrentDictionary<Triple<Tpp, string, bool>, List<AckContext>>(); int mapSize = codec.ReadInt(); if (mapSize != 0) { List<Triple<Tpp, string, bool>> tppgrs = new List<Triple<Tpp, string, bool>>(); for (int i = 0; i < mapSize; i++) { Tpp tpp = new Tpp(codec.ReadString(), codec.ReadInt(), codec.ReadInt() == 0 ? true : false); String groupId = codec.ReadString(); bool resend = codec.ReadBoolean(); tppgrs.Add(new Triple<Tpp, string, bool>(tpp, groupId, resend)); } for (int i = 0; i < mapSize; i++) { Triple<Tpp, string, bool> tppgr = tppgrs[i]; int len = codec.ReadInt(); if (len == 0) { msgSeqMap[tppgr] = new List<AckContext>(); } else { msgSeqMap[tppgr] = new List<AckContext>(len); } for (int j = 0; j < len; j++) { msgSeqMap[tppgr].Add(new AckContext(codec.ReadLong(), codec.ReadInt(), codec.ReadLong(), codec.ReadLong())); } } } return msgSeqMap; }
protected override void Parse0(IoBuffer buf) { var codec = new HermesPrimitiveCodec(buf); Success = codec.ReadBoolean(); }