123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- from __future__ import absolute_import
- from .api import Request, Response
- from .types import Array, Boolean, Int16, Int32, Schema, String
- class MetadataResponse_v0(Response):
- API_KEY = 3
- API_VERSION = 0
- SCHEMA = Schema(
- ('brokers', Array(
- ('node_id', Int32),
- ('host', String('utf-8')),
- ('port', Int32))),
- ('topics', Array(
- ('error_code', Int16),
- ('topic', String('utf-8')),
- ('partitions', Array(
- ('error_code', Int16),
- ('partition', Int32),
- ('leader', Int32),
- ('replicas', Array(Int32)),
- ('isr', Array(Int32))))))
- )
- class MetadataResponse_v1(Response):
- API_KEY = 3
- API_VERSION = 1
- SCHEMA = Schema(
- ('brokers', Array(
- ('node_id', Int32),
- ('host', String('utf-8')),
- ('port', Int32),
- ('rack', String('utf-8')))),
- ('controller_id', Int32),
- ('topics', Array(
- ('error_code', Int16),
- ('topic', String('utf-8')),
- ('is_internal', Boolean),
- ('partitions', Array(
- ('error_code', Int16),
- ('partition', Int32),
- ('leader', Int32),
- ('replicas', Array(Int32)),
- ('isr', Array(Int32))))))
- )
- class MetadataResponse_v2(Response):
- API_KEY = 3
- API_VERSION = 2
- SCHEMA = Schema(
- ('brokers', Array(
- ('node_id', Int32),
- ('host', String('utf-8')),
- ('port', Int32),
- ('rack', String('utf-8')))),
- ('cluster_id', String('utf-8')), # <-- Added cluster_id field in v2
- ('controller_id', Int32),
- ('topics', Array(
- ('error_code', Int16),
- ('topic', String('utf-8')),
- ('is_internal', Boolean),
- ('partitions', Array(
- ('error_code', Int16),
- ('partition', Int32),
- ('leader', Int32),
- ('replicas', Array(Int32)),
- ('isr', Array(Int32))))))
- )
- class MetadataResponse_v3(Response):
- API_KEY = 3
- API_VERSION = 3
- SCHEMA = Schema(
- ('throttle_time_ms', Int32),
- ('brokers', Array(
- ('node_id', Int32),
- ('host', String('utf-8')),
- ('port', Int32),
- ('rack', String('utf-8')))),
- ('cluster_id', String('utf-8')),
- ('controller_id', Int32),
- ('topics', Array(
- ('error_code', Int16),
- ('topic', String('utf-8')),
- ('is_internal', Boolean),
- ('partitions', Array(
- ('error_code', Int16),
- ('partition', Int32),
- ('leader', Int32),
- ('replicas', Array(Int32)),
- ('isr', Array(Int32))))))
- )
- class MetadataResponse_v4(Response):
- API_KEY = 3
- API_VERSION = 4
- SCHEMA = MetadataResponse_v3.SCHEMA
- class MetadataRequest_v0(Request):
- API_KEY = 3
- API_VERSION = 0
- RESPONSE_TYPE = MetadataResponse_v0
- SCHEMA = Schema(
- ('topics', Array(String('utf-8')))
- )
- ALL_TOPICS = None # Empty Array (len 0) for topics returns all topics
- class MetadataRequest_v1(Request):
- API_KEY = 3
- API_VERSION = 1
- RESPONSE_TYPE = MetadataResponse_v1
- SCHEMA = MetadataRequest_v0.SCHEMA
- ALL_TOPICS = -1 # Null Array (len -1) for topics returns all topics
- NO_TOPICS = None # Empty array (len 0) for topics returns no topics
- class MetadataRequest_v2(Request):
- API_KEY = 3
- API_VERSION = 2
- RESPONSE_TYPE = MetadataResponse_v2
- SCHEMA = MetadataRequest_v1.SCHEMA
- ALL_TOPICS = -1 # Null Array (len -1) for topics returns all topics
- NO_TOPICS = None # Empty array (len 0) for topics returns no topics
- class MetadataRequest_v3(Request):
- API_KEY = 3
- API_VERSION = 3
- RESPONSE_TYPE = MetadataResponse_v3
- SCHEMA = MetadataRequest_v1.SCHEMA
- ALL_TOPICS = -1 # Null Array (len -1) for topics returns all topics
- NO_TOPICS = None # Empty array (len 0) for topics returns no topics
- class MetadataRequest_v4(Request):
- API_KEY = 3
- API_VERSION = 4
- RESPONSE_TYPE = MetadataResponse_v4
- SCHEMA = Schema(
- ('topics', Array(String('utf-8'))),
- ('allow_auto_topic_creation', Boolean)
- )
- ALL_TOPICS = -1 # Null Array (len -1) for topics returns all topics
- NO_TOPICS = None # Empty array (len 0) for topics returns no topics
- MetadataRequest = [
- MetadataRequest_v0, MetadataRequest_v1, MetadataRequest_v2,
- MetadataRequest_v3, MetadataRequest_v4
- ]
- MetadataResponse = [
- MetadataResponse_v0, MetadataResponse_v1, MetadataResponse_v2,
- MetadataResponse_v3, MetadataResponse_v4
- ]
|