Ejemplo n.º 1
0
        public int Parse(byte[] data, int dataOffset)
        {
            int bufferOffset = dataOffset;

            bufferOffset       = BufferReader.Read(data, bufferOffset, out topicErrorCode);
            bufferOffset       = BufferReader.Read(data, bufferOffset, out topicName);
            PartitionMetadatas = new Dictionary <int, PartitionMetadata>();
            int partitionCount;

            bufferOffset = BufferReader.Read(data, bufferOffset, out partitionCount);
            for (var i = 0; i < partitionCount; i++)
            {
                PartitionMetadata metadata = new PartitionMetadata();
                bufferOffset = metadata.Parse(data, bufferOffset);
                PartitionMetadatas.Add(metadata.PartitionId, metadata);
            }
            return(bufferOffset);
        }
Ejemplo n.º 2
0
        public override string ToString()
        {
            var sb = new StringBuilder();

            sb.AppendLine("Topics:");
            foreach (TopicMetaData topicMetaData in topicMetaDatas.Values)
            {
                foreach (var partitionId in topicMetaData.Partitions())
                {
                    PartitionMetadata partitionMetaData = topicMetaData.Partition(partitionId);
                    sb.Append("\tname: ").Append(topicMetaData.TopicName).Append('\t');
                    sb.Append("partition: ").Append(partitionMetaData.PartitionId).Append('\t');
                    sb.Append("leader: ").Append(partitionMetaData.Leader).Append('\t');
                    sb.Append("replicas: ");
                    for (int index = 0; index < partitionMetaData.Replicas.Count; index++)
                    {
                        if (index != 0)
                        {
                            sb.Append(',');
                        }
                        sb.Append(partitionMetaData.Replicas[index]);
                    }
                    sb.Append("\tirs: ");
                    for (int index = 0; index < partitionMetaData.Irs.Count; index++)
                    {
                        if (index != 0)
                        {
                            sb.Append(',');
                        }
                        sb.Append(partitionMetaData.Irs[index]);
                    }
                    sb.AppendLine();
                }
            }
            return(sb.ToString());
        }