diff options
author | Julien Lafaye <jlafaye@gmail.com> | 2017-01-19 22:10:26 +0100 |
---|---|---|
committer | Dana Powers <dana.powers@gmail.com> | 2017-01-19 13:10:26 -0800 |
commit | 25741bdc89df30cc0c07af448eda987da83998fc (patch) | |
tree | 481bab02ccbfc52888690024663bc9d44d8f7073 /kafka/protocol/offset.py | |
parent | 4da18a97df672be6b0a687ac64d5221bd3196178 (diff) | |
download | kafka-python-25741bdc89df30cc0c07af448eda987da83998fc.tar.gz |
Add support for offsetRequestV1 messages (#951)
Diffstat (limited to 'kafka/protocol/offset.py')
-rw-r--r-- | kafka/protocol/offset.py | 35 |
1 files changed, 32 insertions, 3 deletions
diff --git a/kafka/protocol/offset.py b/kafka/protocol/offset.py index 8d66063..77a6a09 100644 --- a/kafka/protocol/offset.py +++ b/kafka/protocol/offset.py @@ -22,6 +22,19 @@ class OffsetResponse_v0(Struct): ('offsets', Array(Int64)))))) ) +class OffsetResponse_v1(Struct): + API_KEY = 2 + API_VERSION = 1 + SCHEMA = Schema( + ('topics', Array( + ('topic', String('utf-8')), + ('partitions', Array( + ('partition', Int32), + ('error_code', Int16), + ('timestamp', Int64), + ('offset', Int64))))) + ) + class OffsetRequest_v0(Struct): API_KEY = 2 @@ -33,13 +46,29 @@ class OffsetRequest_v0(Struct): ('topic', String('utf-8')), ('partitions', Array( ('partition', Int32), - ('time', Int64), + ('timestamp', Int64), ('max_offsets', Int32))))) ) DEFAULTS = { 'replica_id': -1 } +class OffsetRequest_v1(Struct): + API_KEY = 2 + API_VERSION = 1 + RESPONSE_TYPE = OffsetResponse_v1 + SCHEMA = Schema( + ('replica_id', Int32), + ('topics', Array( + ('topic', String('utf-8')), + ('partitions', Array( + ('partition', Int32), + ('time', Int64))))) + ) + DEFAULTS = { + 'replica_id': -1 + } + -OffsetRequest = [OffsetRequest_v0] -OffsetResponse = [OffsetResponse_v0] +OffsetRequest = [OffsetRequest_v0, OffsetRequest_v1] +OffsetResponse = [OffsetResponse_v0, OffsetResponse_v1] |