summaryrefslogtreecommitdiff
path: root/kafka/common.py
diff options
context:
space:
mode:
authorDana Powers <dana.powers@rd.io>2014-09-01 01:48:18 -0700
committerDana Powers <dana.powers@rd.io>2014-09-01 18:02:41 -0700
commit18ac14860791db2382c3e62715f11a6f657f265a (patch)
tree0616db85b4c8ca4bb3c9f7fb8d4c6a7ad9b63dcc /kafka/common.py
parenteddd1436c226545237aa057c35719950702466ed (diff)
downloadkafka-python-18ac14860791db2382c3e62715f11a6f657f265a.tar.gz
Improve metadata protocol handling
- add MetadataRequest and MetadataResponse namedtuples - add TopicMetadata namedtuple - add error codes to Topic and Partition Metadata - add KafkaClient.send_metadata_request() method - KafkaProtocol.decode_metadata_response changed to return a MetadataResponse object so that it is consistent with server api: [broker_list, topic_list]
Diffstat (limited to 'kafka/common.py')
-rw-r--r--kafka/common.py30
1 files changed, 23 insertions, 7 deletions
diff --git a/kafka/common.py b/kafka/common.py
index 907e128..e1713cf 100644
--- a/kafka/common.py
+++ b/kafka/common.py
@@ -17,8 +17,14 @@ OffsetRequest = namedtuple("OffsetRequest",
OffsetCommitRequest = namedtuple("OffsetCommitRequest",
["topic", "partition", "offset", "metadata"])
+MetadataRequest = namedtuple("MetadataRequest",
+ ["topics"])
+
OffsetFetchRequest = namedtuple("OffsetFetchRequest", ["topic", "partition"])
+MetadataResponse = namedtuple("MetadataResponse",
+ ["brokers", "topics"])
+
# Response payloads
ProduceResponse = namedtuple("ProduceResponse",
["topic", "partition", "error", "offset"])
@@ -36,16 +42,26 @@ OffsetFetchResponse = namedtuple("OffsetFetchResponse",
["topic", "partition", "offset",
"metadata", "error"])
-BrokerMetadata = namedtuple("BrokerMetadata", ["nodeId", "host", "port"])
-PartitionMetadata = namedtuple("PartitionMetadata",
- ["topic", "partition", "leader",
- "replicas", "isr"])
# Other useful structs
-OffsetAndMessage = namedtuple("OffsetAndMessage", ["offset", "message"])
-Message = namedtuple("Message", ["magic", "attributes", "key", "value"])
-TopicAndPartition = namedtuple("TopicAndPartition", ["topic", "partition"])
+BrokerMetadata = namedtuple("BrokerMetadata",
+ ["nodeId", "host", "port"])
+
+TopicMetadata = namedtuple("TopicMetadata",
+ ["topic", "error", "partitions"])
+
+PartitionMetadata = namedtuple("PartitionMetadata",
+ ["topic", "partition", "leader", "replicas", "isr", "error"])
+
+OffsetAndMessage = namedtuple("OffsetAndMessage",
+ ["offset", "message"])
+
+Message = namedtuple("Message",
+ ["magic", "attributes", "key", "value"])
+
+TopicAndPartition = namedtuple("TopicAndPartition",
+ ["topic", "partition"])
#################