diff options
author | Jeff Widman <jeff@jeffwidman.com> | 2017-01-18 16:52:29 -0800 |
---|---|---|
committer | Dana Powers <dana.powers@gmail.com> | 2017-01-18 16:52:29 -0800 |
commit | 7df120d7ce4f3cb429cdfb7b246d41d744b30e6c (patch) | |
tree | df9edc73eb634d9d5805d8964f07253f08ab2c03 /kafka/protocol/fetch.py | |
parent | 2c6261a4d6bd2fbcabbc0431c8f1defe5b6e7e21 (diff) | |
download | kafka-python-7df120d7ce4f3cb429cdfb7b246d41d744b30e6c.tar.gz |
Add FetchRequest/Response_v3 structs (#943)
Diffstat (limited to 'kafka/protocol/fetch.py')
-rw-r--r-- | kafka/protocol/fetch.py | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/kafka/protocol/fetch.py b/kafka/protocol/fetch.py index 7df6627..79b010f 100644 --- a/kafka/protocol/fetch.py +++ b/kafka/protocol/fetch.py @@ -40,6 +40,12 @@ class FetchResponse_v2(Struct): SCHEMA = FetchResponse_v1.SCHEMA # message format changed internally +class FetchResponse_v3(Struct): + API_KEY = 1 + API_VERSION = 3 + SCHEMA = FetchResponse_v2.SCHEMA + + class FetchRequest_v0(Struct): API_KEY = 1 API_VERSION = 0 @@ -71,5 +77,25 @@ class FetchRequest_v2(Struct): SCHEMA = FetchRequest_v1.SCHEMA -FetchRequest = [FetchRequest_v0, FetchRequest_v1, FetchRequest_v2] -FetchResponse = [FetchResponse_v0, FetchResponse_v1, FetchResponse_v2] +class FetchRequest_v3(Struct): + API_KEY = 1 + API_VERSION = 3 + RESPONSE_TYPE = FetchResponse_v3 + SCHEMA = Schema( + ('replica_id', Int32), + ('max_wait_time', Int32), + ('min_bytes', Int32), + ('max_bytes', Int32), # This new field is only difference from FR_v2 + ('topics', Array( + ('topic', String('utf-8')), + ('partitions', Array( + ('partition', Int32), + ('offset', Int64), + ('max_bytes', Int32))))) + ) + + +FetchRequest = [FetchRequest_v0, FetchRequest_v1, FetchRequest_v2, + FetchRequest_v3] +FetchResponse = [FetchResponse_v0, FetchResponse_v1, FetchResponse_v2, + FetchResponse_v3] |