Source code for kiel.protocol.fetch
from .part import Part
from .request import Request
from .response import Response
from .messages import MessageSet
from .primitives import Array, String, Int16, Int32, Int64
api_name = "fetch"
__all__ = [
"FetchRequest",
"TopicRequest",
"PartitionRequest",
"FetchResponse",
"TopicResponse",
"PartitionResponse",
]
[docs]class PartitionRequest(Part):
"""
::
PartitionRequest =>
partition_id => Int32
offset => Int64
max_bytes => Int32
"""
parts = (
("partition_id", Int32),
("offset", Int64),
("max_bytes", Int32),
)
[docs]class TopicRequest(Part):
"""
::
TopicRequest =>
name => String
partitions => [PartitionRequest]
"""
parts = (
("name", String),
("partitions", Array.of(PartitionRequest)),
)
[docs]class FetchRequest(Request):
"""
::
FetchRequest =>
replica_id => Int32
max_wait_time => Int32
min_bytes => Int32
topics => [TopicRequest]
"""
api = "fetch"
parts = (
("replica_id", Int32),
("max_wait_time", Int32),
("min_bytes", Int32),
("topics", Array.of(TopicRequest)),
)
[docs]class PartitionResponse(Part):
"""
::
PartitionResponse =>
partition_id => Int32
error_code => Int16
highwater_mark_offset => Int64
message_set => MessageSet
"""
parts = (
("partition_id", Int32),
("error_code", Int16),
("highwater_mark_offset", Int64),
("message_set", MessageSet),
)
[docs]class TopicResponse(Part):
"""
::
TopicResponse =>
name => String
partitions => [PartitionResponse]
"""
parts = (
("name", String),
("partitions", Array.of(PartitionResponse)),
)
[docs]class FetchResponse(Response):
"""
::
FetchResponse =>
topics => [TopicResponse]
"""
api = "fetch"
parts = (
("topics", Array.of(TopicResponse)),
)