1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
from .struct import Struct
from .types import Array, Bytes, Int16, Int32, Schema, String
class JoinGroupResponse(Struct):
SCHEMA = Schema(
('error_code', Int16),
('generation_id', Int32),
('group_protocol', String('utf-8')),
('leader_id', String('utf-8')),
('member_id', String('utf-8')),
('members', Array(
('member_id', String('utf-8')),
('member_metadata', Bytes)))
)
class JoinGroupRequest(Struct):
API_KEY = 11
API_VERSION = 0
RESPONSE_TYPE = JoinGroupResponse
SCHEMA = Schema(
('group', String('utf-8')),
('session_timeout', Int32),
('member_id', String('utf-8')),
('protocol_type', String('utf-8')),
('group_protocols', Array(
('protocol_name', String('utf-8')),
('protocol_metadata', Bytes)))
)
UNKNOWN_MEMBER_ID = ''
class ProtocolMetadata(Struct):
SCHEMA = Schema(
('version', Int16),
('subscription', Array(String('utf-8'))), # topics list
('user_data', Bytes)
)
class SyncGroupResponse(Struct):
SCHEMA = Schema(
('error_code', Int16),
('member_assignment', Bytes)
)
class SyncGroupRequest(Struct):
API_KEY = 14
API_VERSION = 0
RESPONSE_TYPE = SyncGroupResponse
SCHEMA = Schema(
('group', String('utf-8')),
('generation_id', Int32),
('member_id', String('utf-8')),
('group_assignment', Array(
('member_id', String('utf-8')),
('member_metadata', Bytes)))
)
class MemberAssignment(Struct):
SCHEMA = Schema(
('version', Int16),
('partition_assignment', Array(
('topic', String('utf-8')),
('partitions', Array(Int32)))),
('user_data', Bytes)
)
class HeartbeatResponse(Struct):
SCHEMA = Schema(
('error_code', Int16)
)
class HeartbeatRequest(Struct):
API_KEY = 12
API_VERSION = 0
RESPONSE_TYPE = HeartbeatResponse
SCHEMA = Schema(
('group', String('utf-8')),
('generation_id', Int32),
('member_id', String('utf-8'))
)
class LeaveGroupResponse(Struct):
SCHEMA = Schema(
('error_code', Int16)
)
class LeaveGroupRequest(Struct):
API_KEY = 13
API_VERSION = 0
RESPONSE_TYPE = LeaveGroupResponse
SCHEMA = Schema(
('group', String('utf-8')),
('member_id', String('utf-8'))
)
|