summaryrefslogtreecommitdiff
path: root/kafka/protocol/fetch.py
diff options
context:
space:
mode:
authorDana Powers <dana.powers@gmail.com>2016-05-22 11:35:26 -0700
committerDana Powers <dana.powers@gmail.com>2016-05-22 11:35:26 -0700
commitc9bff0701ea153933dee8c03cf8feb3470e39c52 (patch)
treee9cc1eddfd4f03981762127d035c58db9c9a5269 /kafka/protocol/fetch.py
parent7941a2ac7ec6663f08c6291d92746eae9f792916 (diff)
downloadkafka-python-produce_fetch_v2.tar.gz
Use Fetch/Produce API v2 for brokers >= 0.10 (uses message format v1)produce_fetch_v2
Diffstat (limited to 'kafka/protocol/fetch.py')
-rw-r--r--kafka/protocol/fetch.py17
1 files changed, 15 insertions, 2 deletions
diff --git a/kafka/protocol/fetch.py b/kafka/protocol/fetch.py
index 6aba972..0542ad2 100644
--- a/kafka/protocol/fetch.py
+++ b/kafka/protocol/fetch.py
@@ -32,6 +32,12 @@ class FetchResponse_v1(Struct):
)
+class FetchResponse_v2(Struct):
+ API_KEY = 1
+ API_VERSION = 2
+ SCHEMA = FetchResponse_v1.SCHEMA # message format changed internally
+
+
class FetchRequest_v0(Struct):
API_KEY = 1
API_VERSION = 0
@@ -56,5 +62,12 @@ class FetchRequest_v1(Struct):
SCHEMA = FetchRequest_v0.SCHEMA
-FetchRequest = [FetchRequest_v0, FetchRequest_v1]
-FetchResponse = [FetchResponse_v0, FetchResponse_v1]
+class FetchRequest_v2(Struct):
+ API_KEY = 1
+ API_VERSION = 2
+ RESPONSE_TYPE = FetchResponse_v2
+ SCHEMA = FetchRequest_v1.SCHEMA
+
+
+FetchRequest = [FetchRequest_v0, FetchRequest_v1, FetchRequest_v2]
+FetchResponse = [FetchResponse_v0, FetchResponse_v1, FetchResponse_v2]