Source code for kiel.protocol.sync_group
from .part import Part
from .request import Request
from .response import Response
from .primitives import Array, String, Bytes, Int16, Int32
api_name = "sync_group"
__all__ = [
"SyncGroupRequest",
"SyncGroupResponse",
"MemberAssignment",
"TopicAssignment",
]
[docs]class TopicAssignment(Part):
"""
::
TopicAssignment =>
name => String
partitions => [Int32]
"""
parts = (
("name", String),
("partitions", Array.of(Int32)),
)
class Assignment(Part):
"""
::
Assignment =>
version => Int16
topics => [TopicAssignment]
user_data => Bytes
"""
parts = (
("version", Int16),
("topics", Array.of(TopicAssignment)),
("user_data", Bytes),
)
[docs]class MemberAssignment(Part):
"""
::
MemberAssignment =>
member_id => String
assignment => Assignment
"""
parts = (
("member_id", String),
("assignment", Assignment),
)
[docs]class SyncGroupRequest(Request):
"""
::
SyncGroupRequest =>
group_id => String
generation_id => Int32
member_id => String
assignments => [MemberAssignment]
"""
api = "sync_group"
parts = (
("group_id", String),
("generation_id", Int32),
("member_id", String),
("assignments", Array.of(MemberAssignment)),
)
[docs]class SyncGroupResponse(Response):
"""
::
SyncGroupResponse =>
error_code => Int16
assignments => [MemberAssignment]
"""
api = "sync_group"
parts = (
("error_code", Int16),
("assignments", Array.of(MemberAssignment)),
)