kafka-node
Version:
Client for Apache Kafka v0.8+
83 lines (76 loc) • 2.49 kB
JavaScript
;
function createStruct () {
var args = arguments[0];
return function () {
for (var i = 0; i < args.length; i++) {
this[args[i]] = arguments[i];
}
};
}
var KEYS = {
FetchRequest: ['topic', 'partition', 'offset', 'maxBytes'],
FetchResponse: ['topic', 'fetchPartitions'],
OffsetCommitRequest: ['topic', 'partition', 'offset', 'metadata', 'committing', 'autoCommitIntervalMs'],
OffsetCommitResponse: [],
TopicAndPartition: ['topic', 'partition'],
PartitionMetadata: ['topic', 'partition', 'leader', 'replicas', 'isr'],
Message: ['magic', 'attributes', 'key', 'value'],
ProduceRequest: ['topic', 'partition', 'messages', 'attributes'],
Request: ['payloads', 'encoder', 'decoder', 'callback']
};
var ERROR_CODE = {
'0': 'NoError',
'-1': 'Unknown',
'1': 'OffsetOutOfRange',
'2': 'InvalidMessage',
'3': 'UnknownTopicOrPartition',
'4': 'InvalidMessageSize',
'5': 'LeaderNotAvailable',
'6': 'NotLeaderForPartition',
'7': 'RequestTimedOut',
'8': 'BrokerNotAvailable',
'9': 'ReplicaNotAvailable',
'10': 'MessageSizeTooLarge',
'11': 'StaleControllerEpochCode',
'12': 'OffsetMetadataTooLargeCode',
'14': 'GroupLoadInProgress',
'15': 'GroupCoordinatorNotAvailable',
'16': 'NotCoordinatorForGroup',
'22': 'IllegalGeneration',
'23': 'InconsistentGroupProtocol',
'25': 'UnknownMemberId',
'26': 'InvalidSessionTimeout',
'27': 'RebalanceInProgress',
'30': 'GroupAuthorizationFailed'
};
var GROUP_ERROR = {
'GroupCoordinatorNotAvailable': require('../errors/GroupCoordinatorNotAvailableError'),
'IllegalGeneration': require('../errors/IllegalGenerationError'),
'NotCoordinatorForGroup': require('../errors/NotCoordinatorForGroupError'),
'GroupLoadInProgress': require('../errors/GroupLoadInProgressError'),
'UnknownMemberId': require('../errors/UnknownMemberIdError'),
'RebalanceInProgress': require('../errors/RebalanceInProgressError')
};
var REQUEST_TYPE = {
produce: 0,
fetch: 1,
offset: 2,
metadata: 3,
leader: 4,
stopReplilca: 5,
offsetCommit: 8,
offsetFetch: 9,
groupCoordinator: 10,
joinGroup: 11,
heartbeat: 12,
leaveGroup: 13,
syncGroup: 14
};
Object.keys(KEYS).forEach(function (o) { exports[o] = createStruct(KEYS[o]); });
exports.KEYS = KEYS;
exports.ERROR_CODE = ERROR_CODE;
exports.GROUP_ERROR = GROUP_ERROR;
exports.REQUEST_TYPE = REQUEST_TYPE;
exports.KeyedMessage = function KeyedMessage (key, value) {
exports.Message.call(this, 0, 0, key, value);
};