Move ConsumerProtocol definition to kafka.coordinator.protocol
This commit is contained in:
@@ -6,7 +6,7 @@ import six
|
||||
|
||||
from .abstract import AbstractPartitionAssignor
|
||||
from ...common import TopicPartition
|
||||
from ..consumer import ConsumerProtocolMemberMetadata, ConsumerProtocolMemberAssignment
|
||||
from ..protocol import ConsumerProtocolMemberMetadata, ConsumerProtocolMemberAssignment
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
@@ -1,3 +1,5 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
import copy
|
||||
import collections
|
||||
import logging
|
||||
@@ -6,46 +8,20 @@ import time
|
||||
import six
|
||||
|
||||
from .base import BaseCoordinator
|
||||
import kafka.common as Errors
|
||||
from kafka.common import OffsetAndMetadata, TopicPartition
|
||||
from kafka.future import Future
|
||||
from kafka.protocol.commit import (
|
||||
from .protocol import (
|
||||
ConsumerProtocolMemberMetadata, ConsumerProtocolMemberAssignment,
|
||||
ConsumerProtocol)
|
||||
from ..common import OffsetAndMetadata, TopicPartition
|
||||
from ..future import Future
|
||||
from ..protocol.commit import (
|
||||
OffsetCommitRequest_v2, OffsetCommitRequest_v1, OffsetCommitRequest_v0,
|
||||
OffsetFetchRequest_v0, OffsetFetchRequest_v1)
|
||||
from kafka.protocol.struct import Struct
|
||||
from kafka.protocol.types import Array, Bytes, Int16, Int32, Schema, String
|
||||
|
||||
import kafka.common as Errors
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class ConsumerProtocolMemberMetadata(Struct):
|
||||
SCHEMA = Schema(
|
||||
('version', Int16),
|
||||
('subscription', Array(String('utf-8'))),
|
||||
('user_data', Bytes))
|
||||
|
||||
|
||||
class ConsumerProtocolMemberAssignment(Struct):
|
||||
SCHEMA = Schema(
|
||||
('version', Int16),
|
||||
('assignment', Array(
|
||||
('topic', String('utf-8')),
|
||||
('partitions', Array(Int32)))),
|
||||
('user_data', Bytes))
|
||||
|
||||
def partitions(self):
|
||||
return [TopicPartition(topic, partition)
|
||||
for topic, partitions in self.assignment # pylint: disable-msg=no-member
|
||||
for partition in partitions]
|
||||
|
||||
|
||||
class ConsumerProtocol(object):
|
||||
PROTOCOL_TYPE = 'consumer'
|
||||
ASSIGNMENT_STRATEGIES = ('roundrobin',)
|
||||
METADATA = ConsumerProtocolMemberMetadata
|
||||
ASSIGNMENT = ConsumerProtocolMemberAssignment
|
||||
|
||||
|
||||
class ConsumerCoordinator(BaseCoordinator):
|
||||
"""This class manages the coordination process with the consumer coordinator."""
|
||||
DEFAULT_CONFIG = {
|
||||
|
33
kafka/coordinator/protocol.py
Normal file
33
kafka/coordinator/protocol.py
Normal file
@@ -0,0 +1,33 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
from kafka.common import TopicPartition
|
||||
from kafka.protocol.struct import Struct
|
||||
from kafka.protocol.types import Array, Bytes, Int16, Int32, Schema, String
|
||||
|
||||
|
||||
class ConsumerProtocolMemberMetadata(Struct):
|
||||
SCHEMA = Schema(
|
||||
('version', Int16),
|
||||
('subscription', Array(String('utf-8'))),
|
||||
('user_data', Bytes))
|
||||
|
||||
|
||||
class ConsumerProtocolMemberAssignment(Struct):
|
||||
SCHEMA = Schema(
|
||||
('version', Int16),
|
||||
('assignment', Array(
|
||||
('topic', String('utf-8')),
|
||||
('partitions', Array(Int32)))),
|
||||
('user_data', Bytes))
|
||||
|
||||
def partitions(self):
|
||||
return [TopicPartition(topic, partition)
|
||||
for topic, partitions in self.assignment # pylint: disable-msg=no-member
|
||||
for partition in partitions]
|
||||
|
||||
|
||||
class ConsumerProtocol(object):
|
||||
PROTOCOL_TYPE = 'consumer'
|
||||
ASSIGNMENT_STRATEGIES = ('roundrobin',)
|
||||
METADATA = ConsumerProtocolMemberMetadata
|
||||
ASSIGNMENT = ConsumerProtocolMemberAssignment
|
Reference in New Issue
Block a user