diff options
author | Dana Powers <dana.powers@rd.io> | 2015-12-29 19:08:35 -0800 |
---|---|---|
committer | Dana Powers <dana.powers@rd.io> | 2015-12-29 19:08:35 -0800 |
commit | 3afdd285a3c92a2c4add5b2b1bd94cfcec4fedd9 (patch) | |
tree | 2c38fd2c577442cb90c99ee2d49b5b0f68300303 /kafka/coordinator/heartbeat.py | |
parent | e5c7d81e7c35e6b013cece347ef42d9f21d03aa6 (diff) | |
download | kafka-python-3afdd285a3c92a2c4add5b2b1bd94cfcec4fedd9.tar.gz |
Switch configs from attributes to dict to make passing / inspecting easier
Diffstat (limited to 'kafka/coordinator/heartbeat.py')
-rw-r--r-- | kafka/coordinator/heartbeat.py | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/kafka/coordinator/heartbeat.py b/kafka/coordinator/heartbeat.py index c153ddd..41ba025 100644 --- a/kafka/coordinator/heartbeat.py +++ b/kafka/coordinator/heartbeat.py @@ -1,23 +1,27 @@ +import copy import time import kafka.common as Errors class Heartbeat(object): - _heartbeat_interval_ms = 3000 - _session_timeout_ms = 30000 - - def __init__(self, **kwargs): - for config in ('heartbeat_interval_ms', 'session_timeout_ms'): - if config in kwargs: - setattr(self, '_' + config, kwargs.pop(config)) - - if self._heartbeat_interval_ms > self._session_timeout_ms: + DEFAULT_CONFIG = { + 'heartbeat_interval_ms': 3000, + 'session_timeout_ms': 30000, + } + + def __init__(self, **configs): + self.config = copy.copy(self.DEFAULT_CONFIG) + for key in self.config: + if key in configs: + self.config[key] = configs[key] + + if self.config['heartbeat_interval_ms'] > self.config['session_timeout_ms']: raise Errors.IllegalArgumentError("Heartbeat interval must be set" " lower than the session timeout") - self.interval = self._heartbeat_interval_ms / 1000.0 - self.timeout = self._session_timeout_ms / 1000.0 + self.interval = self.config['heartbeat_interval_ms'] / 1000.0 + self.timeout = self.config['session_timeout_ms'] / 1000.0 self.last_send = 0 self.last_receive = 0 self.last_reset = time.time() |