|
|
- /*
- * node-rdkafka - Node.js wrapper for RdKafka C/C++ library
- *
- * Copyright (c) 2016 Blizzard Entertainment
- *
- * This software may be modified and distributed under the terms
- * of the MIT license. See the LICENSE.txt file for details.
- */
-
- var librdkafka = require('../librdkafka');
-
- module.exports = Topic;
-
- var topicKey = 'RdKafka::Topic::';
- var topicKeyLength = topicKey.length;
-
- // Take all of the topic special codes from librdkafka and add them
- // to the object
- // You can find this list in the C++ code at
- // https://github.com/edenhill/librdkafka/blob/master/src-cpp/rdkafkacpp.h#L1250
- for (var key in librdkafka.topic) {
- // Skip it if it doesn't start with ErrorCode
- if (key.indexOf('RdKafka::Topic::') !== 0) {
- continue;
- }
-
- // Replace/add it if there are any discrepancies
- var newKey = key.substring(topicKeyLength);
- Topic[newKey] = librdkafka.topic[key];
- }
-
- /**
- * Create a topic. Just returns the string you gave it right now.
- *
- * Looks like a class, but all it does is return the topic name.
- * This is so that one day if there are interface changes that allow
- * different use of topic parameters, we can just add to this constructor and
- * have it return something richer
- */
- function Topic(topicName) {
- return topicName;
- }
|