/// <summary> /// Encode a request for metadata about topic and broker information. /// </summary> /// <param name="request">The MetaDataRequest to encode.</param> /// <returns>Encoded byte[] representing the request.</returns> /// <remarks>Format: (MessageSize), Header, ix(hs)</remarks> private byte[] EncodeMetadataRequest(MetadataRequest request) { if (request.Topics == null) { request.Topics = new List <string>(); } using (var message = EncodeHeader(request) .Pack(request.Topics.Count) .Pack(request.Topics, StringPrefixEncoding.Int16)) { return(message.Payload()); } }
/// <summary> /// Encode a request for metadata about topic and broker information. /// </summary> /// <param name="request">The MetaDataRequest to encode.</param> /// <returns>Encoded byte[] representing the request.</returns> /// <remarks>Format: (MessageSize), Header, ix(hs)</remarks> private byte[] EncodeMetadataRequest(MetadataRequest request) { var message = new WriteByteStream(); if (request.Topics == null) { request.Topics = new List <string>(); } message.Pack(EncodeHeader(request)); //header message.Pack(request.Topics.Count.ToBytes()); message.Pack(request.Topics.Select(x => x.ToInt16SizedBytes()).ToArray()); message.Prepend(message.Length().ToBytes()); return(message.Payload()); }
/// <summary> /// Encode a request for metadata about topic and broker information. /// </summary> /// <param name="request">The MetaDataRequest to encode.</param> /// <returns>Encoded byte[] representing the request.</returns> /// <remarks>Format: (PayloadSize), Header, ix(hs)</remarks> private KafkaDataPayload EncodeMetadataRequest(MetadataRequest request) { if (request.Topics == null) { request.Topics = new List <string>(); } using (var message = EncodeHeader(request) .Pack(request.Topics.Count) .Pack(request.Topics, StringPrefixEncoding.Int16)) { return(new KafkaDataPayload { Buffer = message.Payload(), CorrelationId = request.CorrelationId, ApiKey = ApiKey }); } }