UNPKG

@nestjs/microservices

Version:

Nest - modern, fast, powerful node.js web framework (@microservices)

42 lines (41 loc) • 1.58 kB
import { ClientKafka } from '../client/client-kafka.js'; import { Cluster, GroupMember, GroupMemberAssignment, GroupState } from '../external/kafka.interface.js'; export declare class KafkaReplyPartitionAssigner { private readonly clientKafka; private readonly config; readonly name = "NestReplyPartitionAssigner"; readonly version = 1; constructor(clientKafka: ClientKafka, config: { cluster: Cluster; }); /** * This process can result in imbalanced assignments * @param {array} members array of members, e.g: [{ memberId: 'test-5f93f5a3' }] * @param {array} topics * @param {Buffer} userData * @returns {array} object partitions per topic per member */ assign(group: { members: GroupMember[]; topics: string[]; }): Promise<GroupMemberAssignment[]>; protocol(subscription: { topics: string[]; userData: Buffer; }): GroupState; getPreviousAssignment(): { [key: string]: number; }; decodeMember(member: GroupMember): { memberId: string; previousAssignment: Record<string, unknown>; }; /** * The metadata carried by a group member is chosen by that member, so it is * parsed defensively: malformed or missing data must not make the rebalance * fail, as a group that never stabilizes leaves the client unable to consume * replies. Anything that is not a `previousAssignment` record degrades to an * empty assignment (the member is then treated as new). */ private decodePreviousAssignment; }