diff options
author | Dana Powers <dana.powers@gmail.com> | 2016-05-22 11:35:26 -0700 |
---|---|---|
committer | Dana Powers <dana.powers@gmail.com> | 2016-05-22 11:35:26 -0700 |
commit | c9bff0701ea153933dee8c03cf8feb3470e39c52 (patch) | |
tree | e9cc1eddfd4f03981762127d035c58db9c9a5269 /kafka/protocol/produce.py | |
parent | 7941a2ac7ec6663f08c6291d92746eae9f792916 (diff) | |
download | kafka-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/produce.py')
-rw-r--r-- | kafka/protocol/produce.py | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/kafka/protocol/produce.py b/kafka/protocol/produce.py index e0b8622..3775796 100644 --- a/kafka/protocol/produce.py +++ b/kafka/protocol/produce.py @@ -30,6 +30,21 @@ class ProduceResponse_v1(Struct): ) +class ProduceResponse_v2(Struct): + API_KEY = 0 + API_VERSION = 2 + SCHEMA = Schema( + ('topics', Array( + ('topic', String('utf-8')), + ('partitions', Array( + ('partition', Int32), + ('error_code', Int16), + ('offset', Int64), + ('timestamp', Int64))))), + ('thottle_time_ms', Int32) + ) + + class ProduceRequest_v0(Struct): API_KEY = 0 API_VERSION = 0 @@ -52,5 +67,12 @@ class ProduceRequest_v1(Struct): SCHEMA = ProduceRequest_v0.SCHEMA -ProduceRequest = [ProduceRequest_v0, ProduceRequest_v1] -ProduceResponse = [ProduceResponse_v0, ProduceResponse_v1] +class ProduceRequest_v2(Struct): + API_KEY = 0 + API_VERSION = 2 + RESPONSE_TYPE = ProduceResponse_v2 + SCHEMA = ProduceRequest_v1.SCHEMA + + +ProduceRequest = [ProduceRequest_v0, ProduceRequest_v1, ProduceRequest_v2] +ProduceResponse = [ProduceResponse_v0, ProduceResponse_v1, ProduceResponse_v2] |