summaryrefslogtreecommitdiff
path: root/kafka/protocol/group.py
diff options
context:
space:
mode:
authorDana Powers <dana.powers@gmail.com>2017-07-09 08:04:39 -0700
committerGitHub <noreply@github.com>2017-07-09 08:04:39 -0700
commitd0c6b1f95c2e677545d1faaeae525e8768abea9e (patch)
tree4c889cb6be669e36e4992a74ece3b8e7038d0c80 /kafka/protocol/group.py
parent2f75169504c8bd6f31ab4a88823a8073eb57eced (diff)
downloadkafka-python-d0c6b1f95c2e677545d1faaeae525e8768abea9e.tar.gz
Protocol updates for 0.11.0.0 (#1127)
Diffstat (limited to 'kafka/protocol/group.py')
-rw-r--r--kafka/protocol/group.py93
1 files changed, 85 insertions, 8 deletions
diff --git a/kafka/protocol/group.py b/kafka/protocol/group.py
index 5cab754..ce75a5f 100644
--- a/kafka/protocol/group.py
+++ b/kafka/protocol/group.py
@@ -26,6 +26,22 @@ class JoinGroupResponse_v1(Response):
SCHEMA = JoinGroupResponse_v0.SCHEMA
+class JoinGroupResponse_v2(Response):
+ API_KEY = 11
+ API_VERSION = 2
+ SCHEMA = Schema(
+ ('throttle_time_ms', Int32),
+ ('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_v0(Request):
API_KEY = 11
API_VERSION = 0
@@ -59,8 +75,20 @@ class JoinGroupRequest_v1(Request):
UNKNOWN_MEMBER_ID = ''
-JoinGroupRequest = [JoinGroupRequest_v0, JoinGroupRequest_v1]
-JoinGroupResponse = [JoinGroupResponse_v0, JoinGroupResponse_v1]
+class JoinGroupRequest_v2(Request):
+ API_KEY = 11
+ API_VERSION = 2
+ RESPONSE_TYPE = JoinGroupResponse_v2
+ SCHEMA = JoinGroupRequest_v1.SCHEMA
+ UNKNOWN_MEMBER_ID = ''
+
+
+JoinGroupRequest = [
+ JoinGroupRequest_v0, JoinGroupRequest_v1, JoinGroupRequest_v2
+]
+JoinGroupResponse = [
+ JoinGroupResponse_v0, JoinGroupResponse_v1, JoinGroupResponse_v1
+]
class ProtocolMetadata(Struct):
@@ -80,6 +108,16 @@ class SyncGroupResponse_v0(Response):
)
+class SyncGroupResponse_v1(Response):
+ API_KEY = 14
+ API_VERSION = 1
+ SCHEMA = Schema(
+ ('throttle_time_ms', Int32),
+ ('error_code', Int16),
+ ('member_assignment', Bytes)
+ )
+
+
class SyncGroupRequest_v0(Request):
API_KEY = 14
API_VERSION = 0
@@ -94,8 +132,15 @@ class SyncGroupRequest_v0(Request):
)
-SyncGroupRequest = [SyncGroupRequest_v0]
-SyncGroupResponse = [SyncGroupResponse_v0]
+class SyncGroupRequest_v1(Request):
+ API_KEY = 14
+ API_VERSION = 1
+ RESPONSE_TYPE = SyncGroupResponse_v1
+ SCHEMA = SyncGroupRequest_v0.SCHEMA
+
+
+SyncGroupRequest = [SyncGroupRequest_v0, SyncGroupRequest_v1]
+SyncGroupResponse = [SyncGroupResponse_v0, SyncGroupResponse_v1]
class MemberAssignment(Struct):
@@ -116,6 +161,15 @@ class HeartbeatResponse_v0(Response):
)
+class HeartbeatResponse_v1(Response):
+ API_KEY = 12
+ API_VERSION = 1
+ SCHEMA = Schema(
+ ('throttle_time_ms', Int32),
+ ('error_code', Int16)
+ )
+
+
class HeartbeatRequest_v0(Request):
API_KEY = 12
API_VERSION = 0
@@ -127,8 +181,15 @@ class HeartbeatRequest_v0(Request):
)
-HeartbeatRequest = [HeartbeatRequest_v0]
-HeartbeatResponse = [HeartbeatResponse_v0]
+class HeartbeatRequest_v1(Request):
+ API_KEY = 12
+ API_VERSION = 1
+ RESPONSE_TYPE = HeartbeatResponse_v1
+ SCHEMA = HeartbeatRequest_v0
+
+
+HeartbeatRequest = [HeartbeatRequest_v0, HeartbeatRequest_v1]
+HeartbeatResponse = [HeartbeatResponse_v0, HeartbeatResponse_v1]
class LeaveGroupResponse_v0(Response):
@@ -139,6 +200,15 @@ class LeaveGroupResponse_v0(Response):
)
+class LeaveGroupResponse_v1(Response):
+ API_KEY = 13
+ API_VERSION = 1
+ SCHEMA = Schema(
+ ('throttle_time_ms', Int32),
+ ('error_code', Int16)
+ )
+
+
class LeaveGroupRequest_v0(Request):
API_KEY = 13
API_VERSION = 0
@@ -149,5 +219,12 @@ class LeaveGroupRequest_v0(Request):
)
-LeaveGroupRequest = [LeaveGroupRequest_v0]
-LeaveGroupResponse = [LeaveGroupResponse_v0]
+class LeaveGroupRequest_v1(Request):
+ API_KEY = 13
+ API_VERSION = 1
+ RESPONSE_TYPE = LeaveGroupResponse_v1
+ SCHEMA = LeaveGroupRequest_v0.SCHEMA
+
+
+LeaveGroupRequest = [LeaveGroupRequest_v0, LeaveGroupRequest_v1]
+LeaveGroupResponse = [LeaveGroupResponse_v0, LeaveGroupResponse_v1]