You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
2.9 KiB
101 lines
2.9 KiB
3 years ago
|
'use strict';
|
||
|
|
||
|
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', 'timestamp'],
|
||
|
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',
|
||
|
'17': 'InvalidTopic',
|
||
|
'18': 'RecordListTooLarge',
|
||
|
'19': 'NotEnoughReplicas',
|
||
|
'20': 'NotEnoughReplicasAfterAppend',
|
||
|
'21': 'InvalidRequiredAcks',
|
||
|
'22': 'IllegalGeneration',
|
||
|
'23': 'InconsistentGroupProtocol',
|
||
|
'25': 'UnknownMemberId',
|
||
|
'26': 'InvalidSessionTimeout',
|
||
|
'27': 'RebalanceInProgress',
|
||
|
'28': 'InvalidCommitOffsetSize',
|
||
|
'29': 'TopicAuthorizationFailed',
|
||
|
'30': 'GroupAuthorizationFailed',
|
||
|
'31': 'ClusterAuthorizationFailed'
|
||
|
};
|
||
|
|
||
|
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,
|
||
|
stopReplica: 5,
|
||
|
updateMetadata: 6,
|
||
|
controlledShutdown: 7,
|
||
|
offsetCommit: 8,
|
||
|
offsetFetch: 9,
|
||
|
groupCoordinator: 10,
|
||
|
joinGroup: 11,
|
||
|
heartbeat: 12,
|
||
|
leaveGroup: 13,
|
||
|
syncGroup: 14,
|
||
|
describeGroups: 15,
|
||
|
listGroups: 16,
|
||
|
saslHandshake: 17,
|
||
|
apiVersions: 18,
|
||
|
createTopics: 19,
|
||
|
deleteTopics: 20
|
||
|
};
|
||
|
|
||
|
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, Date.now());
|
||
|
};
|