kafkajs
Version:
A modern Apache Kafka client for node.js
33 lines (28 loc) • 1 kB
JavaScript
const { parse, decode: decodeV5 } = require('../v5/response')
/**
* The version number is bumped to indicate that on quota violation brokers send out responses before throttling.
* @see https://github.com/apache/kafka/blob/9c8f75c4b624084c954b4da69f092211a9ac4689/clients/src/main/java/org/apache/kafka/common/requests/ProduceResponse.java#L152-L156
*
* Produce Response (Version: 6) => [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 decode = async rawData => {
const decoded = await decodeV5(rawData)
return {
...decoded,
throttleTime: 0,
clientSideThrottleTime: decoded.throttleTime,
}
}
module.exports = {
decode,
parse,
}