Exemplo n.º 1
0
        public void Parse(byte[] data)
        {
            var dataOffset = BufferReader.Read(data, 0, out correlationId);

            int numTopics;
            dataOffset = BufferReader.Read(data, dataOffset, out numTopics);
            for (var i = 0; i < numTopics; i++)
            {
                String topicName;
                dataOffset = BufferReader.Read(data, dataOffset, out topicName);
                int partitionCount;
                dataOffset = BufferReader.Read(data, dataOffset, out partitionCount);

                var partitions = new List<ProducePartition>();

                for (var partitionIndex = 0; partitionIndex < partitionCount; partitionIndex++)
                {

                    int partitionId;
                    dataOffset = BufferReader.Read(data, dataOffset, out partitionId);

                    short errorCode;
                    dataOffset = BufferReader.Read(data, dataOffset, out errorCode);

                    long offset;
                    dataOffset = BufferReader.Read(data, dataOffset, out offset);

                    var producePartition = new ProducePartition(partitionId, errorCode, offset);
                    partitions.Add(producePartition);
                }
                responsePartitions.Add(topicName, partitions);
            }
        }
Exemplo n.º 2
0
        public void Parse(byte[] data)
        {
            var dataOffset = BufferReader.Read(data, 0, out correlationId);

            int numTopics;

            dataOffset = BufferReader.Read(data, dataOffset, out numTopics);
            for (var i = 0; i < numTopics; i++)
            {
                String topicName;
                dataOffset = BufferReader.Read(data, dataOffset, out topicName);
                int partitionCount;
                dataOffset = BufferReader.Read(data, dataOffset, out partitionCount);

                var partitions = new List <ProducePartition>();

                for (var partitionIndex = 0; partitionIndex < partitionCount; partitionIndex++)
                {
                    int partitionId;
                    dataOffset = BufferReader.Read(data, dataOffset, out partitionId);

                    short errorCode;
                    dataOffset = BufferReader.Read(data, dataOffset, out errorCode);

                    long offset;
                    dataOffset = BufferReader.Read(data, dataOffset, out offset);

                    var producePartition = new ProducePartition(partitionId, errorCode, offset);
                    partitions.Add(producePartition);
                }
                responsePartitions.Add(topicName, partitions);
            }
        }