123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255 |
- from __future__ import absolute_import
- from .api import Request, Response
- from .types import Array, Int8, Int16, Int32, Int64, Schema, String
- class OffsetCommitResponse_v0(Response):
- API_KEY = 8
- API_VERSION = 0
- SCHEMA = Schema(
- ('topics', Array(
- ('topic', String('utf-8')),
- ('partitions', Array(
- ('partition', Int32),
- ('error_code', Int16)))))
- )
- class OffsetCommitResponse_v1(Response):
- API_KEY = 8
- API_VERSION = 1
- SCHEMA = OffsetCommitResponse_v0.SCHEMA
- class OffsetCommitResponse_v2(Response):
- API_KEY = 8
- API_VERSION = 2
- SCHEMA = OffsetCommitResponse_v1.SCHEMA
- class OffsetCommitResponse_v3(Response):
- API_KEY = 8
- API_VERSION = 3
- SCHEMA = Schema(
- ('throttle_time_ms', Int32),
- ('topics', Array(
- ('topic', String('utf-8')),
- ('partitions', Array(
- ('partition', Int32),
- ('error_code', Int16)))))
- )
- class OffsetCommitRequest_v0(Request):
- API_KEY = 8
- API_VERSION = 0 # Zookeeper-backed storage
- RESPONSE_TYPE = OffsetCommitResponse_v0
- SCHEMA = Schema(
- ('consumer_group', String('utf-8')),
- ('topics', Array(
- ('topic', String('utf-8')),
- ('partitions', Array(
- ('partition', Int32),
- ('offset', Int64),
- ('metadata', String('utf-8'))))))
- )
- class OffsetCommitRequest_v1(Request):
- API_KEY = 8
- API_VERSION = 1 # Kafka-backed storage
- RESPONSE_TYPE = OffsetCommitResponse_v1
- SCHEMA = Schema(
- ('consumer_group', String('utf-8')),
- ('consumer_group_generation_id', Int32),
- ('consumer_id', String('utf-8')),
- ('topics', Array(
- ('topic', String('utf-8')),
- ('partitions', Array(
- ('partition', Int32),
- ('offset', Int64),
- ('timestamp', Int64),
- ('metadata', String('utf-8'))))))
- )
- class OffsetCommitRequest_v2(Request):
- API_KEY = 8
- API_VERSION = 2 # added retention_time, dropped timestamp
- RESPONSE_TYPE = OffsetCommitResponse_v2
- SCHEMA = Schema(
- ('consumer_group', String('utf-8')),
- ('consumer_group_generation_id', Int32),
- ('consumer_id', String('utf-8')),
- ('retention_time', Int64),
- ('topics', Array(
- ('topic', String('utf-8')),
- ('partitions', Array(
- ('partition', Int32),
- ('offset', Int64),
- ('metadata', String('utf-8'))))))
- )
- DEFAULT_GENERATION_ID = -1
- DEFAULT_RETENTION_TIME = -1
- class OffsetCommitRequest_v3(Request):
- API_KEY = 8
- API_VERSION = 3
- RESPONSE_TYPE = OffsetCommitResponse_v3
- SCHEMA = OffsetCommitRequest_v2.SCHEMA
- OffsetCommitRequest = [
- OffsetCommitRequest_v0, OffsetCommitRequest_v1,
- OffsetCommitRequest_v2, OffsetCommitRequest_v3
- ]
- OffsetCommitResponse = [
- OffsetCommitResponse_v0, OffsetCommitResponse_v1,
- OffsetCommitResponse_v2, OffsetCommitResponse_v3
- ]
- class OffsetFetchResponse_v0(Response):
- API_KEY = 9
- API_VERSION = 0
- SCHEMA = Schema(
- ('topics', Array(
- ('topic', String('utf-8')),
- ('partitions', Array(
- ('partition', Int32),
- ('offset', Int64),
- ('metadata', String('utf-8')),
- ('error_code', Int16)))))
- )
- class OffsetFetchResponse_v1(Response):
- API_KEY = 9
- API_VERSION = 1
- SCHEMA = OffsetFetchResponse_v0.SCHEMA
- class OffsetFetchResponse_v2(Response):
- # Added in KIP-88
- API_KEY = 9
- API_VERSION = 2
- SCHEMA = Schema(
- ('topics', Array(
- ('topic', String('utf-8')),
- ('partitions', Array(
- ('partition', Int32),
- ('offset', Int64),
- ('metadata', String('utf-8')),
- ('error_code', Int16))))),
- ('error_code', Int16)
- )
- class OffsetFetchResponse_v3(Response):
- API_KEY = 9
- API_VERSION = 3
- SCHEMA = Schema(
- ('throttle_time_ms', Int32),
- ('topics', Array(
- ('topic', String('utf-8')),
- ('partitions', Array(
- ('partition', Int32),
- ('offset', Int64),
- ('metadata', String('utf-8')),
- ('error_code', Int16))))),
- ('error_code', Int16)
- )
- class OffsetFetchRequest_v0(Request):
- API_KEY = 9
- API_VERSION = 0 # zookeeper-backed storage
- RESPONSE_TYPE = OffsetFetchResponse_v0
- SCHEMA = Schema(
- ('consumer_group', String('utf-8')),
- ('topics', Array(
- ('topic', String('utf-8')),
- ('partitions', Array(Int32))))
- )
- class OffsetFetchRequest_v1(Request):
- API_KEY = 9
- API_VERSION = 1 # kafka-backed storage
- RESPONSE_TYPE = OffsetFetchResponse_v1
- SCHEMA = OffsetFetchRequest_v0.SCHEMA
- class OffsetFetchRequest_v2(Request):
- # KIP-88: Allows passing null topics to return offsets for all partitions
- # that the consumer group has a stored offset for, even if no consumer in
- # the group is currently consuming that partition.
- API_KEY = 9
- API_VERSION = 2
- RESPONSE_TYPE = OffsetFetchResponse_v2
- SCHEMA = OffsetFetchRequest_v1.SCHEMA
- class OffsetFetchRequest_v3(Request):
- API_KEY = 9
- API_VERSION = 3
- RESPONSE_TYPE = OffsetFetchResponse_v3
- SCHEMA = OffsetFetchRequest_v2.SCHEMA
- OffsetFetchRequest = [
- OffsetFetchRequest_v0, OffsetFetchRequest_v1,
- OffsetFetchRequest_v2, OffsetFetchRequest_v3,
- ]
- OffsetFetchResponse = [
- OffsetFetchResponse_v0, OffsetFetchResponse_v1,
- OffsetFetchResponse_v2, OffsetFetchResponse_v3,
- ]
- class GroupCoordinatorResponse_v0(Response):
- API_KEY = 10
- API_VERSION = 0
- SCHEMA = Schema(
- ('error_code', Int16),
- ('coordinator_id', Int32),
- ('host', String('utf-8')),
- ('port', Int32)
- )
- class GroupCoordinatorResponse_v1(Response):
- API_KEY = 10
- API_VERSION = 1
- SCHEMA = Schema(
- ('error_code', Int16),
- ('error_message', String('utf-8')),
- ('coordinator_id', Int32),
- ('host', String('utf-8')),
- ('port', Int32)
- )
- class GroupCoordinatorRequest_v0(Request):
- API_KEY = 10
- API_VERSION = 0
- RESPONSE_TYPE = GroupCoordinatorResponse_v0
- SCHEMA = Schema(
- ('consumer_group', String('utf-8'))
- )
- class GroupCoordinatorRequest_v1(Request):
- API_KEY = 10
- API_VERSION = 1
- RESPONSE_TYPE = GroupCoordinatorResponse_v1
- SCHEMA = Schema(
- ('coordinator_key', String('utf-8')),
- ('coordinator_type', Int8)
- )
- GroupCoordinatorRequest = [GroupCoordinatorRequest_v0, GroupCoordinatorRequest_v1]
- GroupCoordinatorResponse = [GroupCoordinatorResponse_v0, GroupCoordinatorResponse_v1]
|