diff options
Diffstat (limited to 'kafka/protocol')
-rw-r--r-- | kafka/protocol/fetch.py | 17 | ||||
-rw-r--r-- | kafka/protocol/produce.py | 26 |
2 files changed, 39 insertions, 4 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] 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] |