UNPKG

kafkajs

Version:

A modern Apache Kafka client for node.js

44 lines (37 loc) 1.13 kB
const Decoder = require('../../../decoder') const { parse: parseV3 } = require('../v3/response') /** * Produce Response (Version: 5) => [responses] throttle_time_ms * responses => topic [partition_responses] * topic => STRING * partition_responses => partition error_code base_offset log_append_time log_start_offset * partition => INT32 * error_code => INT16 * base_offset => INT64 * log_append_time => INT64 * log_start_offset => INT64 * throttle_time_ms => INT32 */ const partition = decoder => ({ partition: decoder.readInt32(), errorCode: decoder.readInt16(), baseOffset: decoder.readInt64().toString(), logAppendTime: decoder.readInt64().toString(), logStartOffset: decoder.readInt64().toString(), }) const decode = async rawData => { const decoder = new Decoder(rawData) const topics = decoder.readArray(decoder => ({ topicName: decoder.readString(), partitions: decoder.readArray(partition), })) const throttleTime = decoder.readInt32() return { topics, throttleTime, } } module.exports = { decode, parse: parseV3, }