Kafka.Client.Request.ProducerRequest.GetInternalBytes C# (CSharp) Méthode

GetInternalBytes() private méthode

Gets the bytes representing the request which is used when generating a multi-request.
The GetBytes method is used for sending a single RequestType.Produce. It prefixes this byte array with the request type and the number of messages. This method is used to supply the MultiProducerRequest with the contents for its message.
private GetInternalBytes ( ) : byte[]
Résultat byte[]
        internal byte[] GetInternalBytes()
        {
            List<byte> messagePack = new List<byte>();
            foreach (Message message in Messages)
            {
                byte[] messageBytes = message.GetBytes();
                messagePack.AddRange(BitWorks.GetBytesReversed(messageBytes.Length));
                messagePack.AddRange(messageBytes);
            }

            byte[] topicLengthBytes = BitWorks.GetBytesReversed(Convert.ToInt16(Topic.Length));
            byte[] topicBytes = Encoding.UTF8.GetBytes(Topic);
            byte[] partitionBytes = BitWorks.GetBytesReversed(Partition);
            byte[] messagePackLengthBytes = BitWorks.GetBytesReversed(messagePack.Count);
            byte[] messagePackBytes = messagePack.ToArray();

            List<byte> encodedMessageSet = new List<byte>();
            encodedMessageSet.AddRange(topicLengthBytes);
            encodedMessageSet.AddRange(topicBytes);
            encodedMessageSet.AddRange(partitionBytes);
            encodedMessageSet.AddRange(messagePackLengthBytes);
            encodedMessageSet.AddRange(messagePackBytes);

            return encodedMessageSet.ToArray();
        }