summaryrefslogtreecommitdiff
path: root/kafka/protocol/produce.py
diff options
context:
space:
mode:
authorDana Powers <dana.powers@gmail.com>2016-04-05 13:04:24 -0700
committerDana Powers <dana.powers@gmail.com>2016-04-06 14:48:13 -0700
commit3d16f2ff5f75380c8a9fce846f35e92bb5bfb935 (patch)
tree169a0e740992d6bff7b4e46dbf047d14429b5d82 /kafka/protocol/produce.py
parent331442ee0fcc0d888c2b2d2ed4f2a339d167b4a2 (diff)
downloadkafka-python-kafka-2136.tar.gz
KAFKA-2136: support Fetch and Produce v1 (throttle_time_ms)kafka-2136
Diffstat (limited to 'kafka/protocol/produce.py')
-rw-r--r--kafka/protocol/produce.py25
1 files changed, 23 insertions, 2 deletions
diff --git a/kafka/protocol/produce.py b/kafka/protocol/produce.py
index 5753f64..e0b8622 100644
--- a/kafka/protocol/produce.py
+++ b/kafka/protocol/produce.py
@@ -16,6 +16,20 @@ class ProduceResponse_v0(Struct):
)
+class ProduceResponse_v1(Struct):
+ API_KEY = 0
+ API_VERSION = 1
+ SCHEMA = Schema(
+ ('topics', Array(
+ ('topic', String('utf-8')),
+ ('partitions', Array(
+ ('partition', Int32),
+ ('error_code', Int16),
+ ('offset', Int64))))),
+ ('throttle_time_ms', Int32)
+ )
+
+
class ProduceRequest_v0(Struct):
API_KEY = 0
API_VERSION = 0
@@ -31,5 +45,12 @@ class ProduceRequest_v0(Struct):
)
-ProduceRequest = [ProduceRequest_v0]
-ProduceResponse = [ProduceResponse_v0]
+class ProduceRequest_v1(Struct):
+ API_KEY = 0
+ API_VERSION = 1
+ RESPONSE_TYPE = ProduceResponse_v1
+ SCHEMA = ProduceRequest_v0.SCHEMA
+
+
+ProduceRequest = [ProduceRequest_v0, ProduceRequest_v1]
+ProduceResponse = [ProduceResponse_v0, ProduceResponse_v1]