UNPKG

kafka-ts

Version:

**KafkaTS** is a Apache Kafka client library for Node.js. It provides both a low-level API for communicating directly with the Apache Kafka cluster and high-level APIs for publishing and subscribing to Kafka topics.

216 lines (212 loc) 8.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.JOIN_GROUP = void 0; const api_1 = require("../utils/api"); const encoder_1 = require("../utils/encoder"); const error_1 = require("../utils/error"); /* JoinGroup Request (Version: 5) => group_id session_timeout_ms rebalance_timeout_ms member_id group_instance_id protocol_type [protocols] group_id => STRING session_timeout_ms => INT32 rebalance_timeout_ms => INT32 member_id => STRING group_instance_id => NULLABLE_STRING protocol_type => STRING protocols => name metadata name => STRING metadata => BYTES JoinGroup Response (Version: 5) => throttle_time_ms error_code generation_id protocol_name leader member_id [members] throttle_time_ms => INT32 error_code => INT16 generation_id => INT32 protocol_name => STRING leader => STRING member_id => STRING members => member_id group_instance_id metadata member_id => STRING group_instance_id => NULLABLE_STRING metadata => BYTES */ const JOIN_GROUP_V5 = (0, api_1.createApi)({ apiKey: 11, apiVersion: 5, requestHeaderVersion: 1, responseHeaderVersion: 0, request: (encoder, data) => encoder .writeString(data.groupId) .writeInt32(data.sessionTimeoutMs) .writeInt32(data.rebalanceTimeoutMs) .writeString(data.memberId) .writeString(data.groupInstanceId) .writeString(data.protocolType) .writeArray(data.protocols, (encoder, protocol) => { const metadata = new encoder_1.Encoder() .writeInt16(protocol.metadata.version) .writeArray(protocol.metadata.topics, (encoder, topic) => encoder.writeString(topic)) .writeBytes(Buffer.alloc(0)) .value(); return encoder.writeString(protocol.name).writeBytes(metadata); }), response: (decoder) => { const result = { throttleTimeMs: decoder.readInt32(), errorCode: decoder.readInt16(), generationId: decoder.readInt32(), protocolType: null, protocolName: decoder.readString(), leader: decoder.readString(), skipAssignment: false, memberId: decoder.readString(), members: decoder.readArray((decoder) => ({ memberId: decoder.readString(), groupInstanceId: decoder.readString(), metadata: decoder.readBytes(), tags: {}, })), tags: {}, }; if (result.errorCode) throw new error_1.KafkaTSApiError(result.errorCode, null, result); return result; }, }); /* JoinGroup Request (Version: 6) => group_id session_timeout_ms rebalance_timeout_ms member_id group_instance_id protocol_type [protocols] _tagged_fields group_id => COMPACT_STRING session_timeout_ms => INT32 rebalance_timeout_ms => INT32 member_id => COMPACT_STRING group_instance_id => COMPACT_NULLABLE_STRING protocol_type => COMPACT_STRING protocols => name metadata _tagged_fields name => COMPACT_STRING metadata => COMPACT_BYTES JoinGroup Response (Version: 6) => throttle_time_ms error_code generation_id protocol_name leader member_id [members] _tagged_fields throttle_time_ms => INT32 error_code => INT16 generation_id => INT32 protocol_name => COMPACT_STRING leader => COMPACT_STRING member_id => COMPACT_STRING members => member_id group_instance_id metadata _tagged_fields member_id => COMPACT_STRING group_instance_id => COMPACT_NULLABLE_STRING metadata => COMPACT_BYTES */ const JOIN_GROUP_V6 = (0, api_1.createApi)({ apiKey: 11, apiVersion: 6, fallback: JOIN_GROUP_V5, requestHeaderVersion: 2, responseHeaderVersion: 1, request: (encoder, data) => encoder .writeCompactString(data.groupId) .writeInt32(data.sessionTimeoutMs) .writeInt32(data.rebalanceTimeoutMs) .writeCompactString(data.memberId) .writeCompactString(data.groupInstanceId) .writeCompactString(data.protocolType) .writeCompactArray(data.protocols, (encoder, protocol) => { const metadata = new encoder_1.Encoder() .writeInt16(protocol.metadata.version) .writeArray(protocol.metadata.topics, (encoder, topic) => encoder.writeString(topic)) .writeBytes(Buffer.alloc(0)) .value(); return encoder.writeCompactString(protocol.name).writeCompactBytes(metadata).writeTagBuffer(); }) .writeTagBuffer(), response: (decoder) => { const result = { throttleTimeMs: decoder.readInt32(), errorCode: decoder.readInt16(), generationId: decoder.readInt32(), protocolType: null, protocolName: decoder.readCompactString(), leader: decoder.readCompactString(), skipAssignment: false, memberId: decoder.readCompactString(), members: decoder.readCompactArray((decoder) => ({ memberId: decoder.readCompactString(), groupInstanceId: decoder.readCompactString(), metadata: decoder.readCompactBytes(), tags: decoder.readTagBuffer(), })), tags: decoder.readTagBuffer(), }; if (result.errorCode) throw new error_1.KafkaTSApiError(result.errorCode, null, result); return result; }, }); /* JoinGroup Request (Version: 9) => group_id session_timeout_ms rebalance_timeout_ms member_id group_instance_id protocol_type [protocols] reason _tagged_fields group_id => COMPACT_STRING session_timeout_ms => INT32 rebalance_timeout_ms => INT32 member_id => COMPACT_STRING group_instance_id => COMPACT_NULLABLE_STRING protocol_type => COMPACT_STRING protocols => name metadata _tagged_fields name => COMPACT_STRING metadata => COMPACT_BYTES reason => COMPACT_NULLABLE_STRING JoinGroup Response (Version: 9) => throttle_time_ms error_code generation_id protocol_type protocol_name leader skip_assignment member_id [members] _tagged_fields throttle_time_ms => INT32 error_code => INT16 generation_id => INT32 protocol_type => COMPACT_NULLABLE_STRING protocol_name => COMPACT_NULLABLE_STRING leader => COMPACT_STRING skip_assignment => BOOLEAN member_id => COMPACT_STRING members => member_id group_instance_id metadata _tagged_fields member_id => COMPACT_STRING group_instance_id => COMPACT_NULLABLE_STRING metadata => COMPACT_BYTES */ exports.JOIN_GROUP = (0, api_1.createApi)({ apiKey: 11, apiVersion: 9, fallback: JOIN_GROUP_V6, requestHeaderVersion: 2, responseHeaderVersion: 1, request: (encoder, data) => encoder .writeCompactString(data.groupId) .writeInt32(data.sessionTimeoutMs) .writeInt32(data.rebalanceTimeoutMs) .writeCompactString(data.memberId) .writeCompactString(data.groupInstanceId) .writeCompactString(data.protocolType) .writeCompactArray(data.protocols, (encoder, protocol) => { const metadata = new encoder_1.Encoder() .writeInt16(protocol.metadata.version) .writeArray(protocol.metadata.topics, (encoder, topic) => encoder.writeString(topic)) .writeBytes(Buffer.alloc(0)) .value(); return encoder.writeCompactString(protocol.name).writeCompactBytes(metadata).writeTagBuffer(); }) .writeCompactString(data.reason) .writeTagBuffer(), response: (decoder) => { const result = { throttleTimeMs: decoder.readInt32(), errorCode: decoder.readInt16(), generationId: decoder.readInt32(), protocolType: decoder.readCompactString(), protocolName: decoder.readCompactString(), leader: decoder.readCompactString(), skipAssignment: decoder.readBoolean(), memberId: decoder.readCompactString(), members: decoder.readCompactArray((decoder) => ({ memberId: decoder.readCompactString(), groupInstanceId: decoder.readCompactString(), metadata: decoder.readCompactBytes(), tags: decoder.readTagBuffer(), })), tags: decoder.readTagBuffer(), }; if (result.errorCode) throw new error_1.KafkaTSApiError(result.errorCode, null, result); return result; }, });