Skip to content

Commit e4f1257

Browse files
committed
Fixed setting rate limits (no limit) via service configuration callback
1 parent a00f629 commit e4f1257

File tree

2 files changed

+27
-12
lines changed

2 files changed

+27
-12
lines changed

tb_device_mqtt.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -701,14 +701,20 @@ def on_service_configuration(self, _, response, *args, **kwargs):
701701
if service_config.get("rateLimit"):
702702
rate_limits_config = service_config.get("rateLimit")
703703

704-
messages_rate_limit_config = rate_limits_config['messages'] if rate_limits_config['messages'] else '0:0,'
705-
self._messages_rate_limit.set_limit(messages_rate_limit_config)
704+
if rate_limits_config.get('messages'):
705+
self._messages_rate_limit.set_limit(rate_limits_config.get('messages'))
706+
else:
707+
self._messages_rate_limit.set_limit('0:0,')
706708

707-
telemetry_messages_rate_limit_config = rate_limits_config['telemetryMessages'] if rate_limits_config['telemetryMessages'] else '0:0,'
708-
self._telemetry_rate_limit.set_limit(telemetry_messages_rate_limit_config)
709+
if rate_limits_config.get('telemetryMessages'):
710+
self._telemetry_rate_limit.set_limit(rate_limits_config.get('telemetryMessages'))
711+
else:
712+
self._telemetry_rate_limit.set_limit('0:0,')
709713

710-
telemetry_dp_rate_limit_config = rate_limits_config['telemetryDataPoints'] if rate_limits_config['telemetryDataPoints'] else '0:0,'
711-
self._telemetry_dp_rate_limit.set_limit(telemetry_dp_rate_limit_config)
714+
if rate_limits_config.get('telemetryDataPoints'):
715+
self._telemetry_dp_rate_limit.set_limit(rate_limits_config.get('telemetryDataPoints'))
716+
else:
717+
self._telemetry_dp_rate_limit.set_limit('0:0,')
712718

713719
if service_config.get('maxInflightMessages'):
714720
use_messages_rate_limit_factor = self._messages_rate_limit.has_limit()

tb_gateway_mqtt.py

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -301,13 +301,22 @@ def __on_service_configuration(self, _, response, *args, **kwargs):
301301
gateway_devices_rate_limit_config = service_config.pop('gatewayRateLimits', {})
302302
gateway_device_itself_rate_limit_config = service_config.pop('rateLimits', {})
303303

304-
messages_rate_limit_config = gateway_devices_rate_limit_config['messages'] if gateway_devices_rate_limit_config['messages'] else '0:0,'
305-
self._devices_connected_through_gateway_messages_rate_limit.set_limit(messages_rate_limit_config)
304+
if gateway_devices_rate_limit_config.get("messages"):
305+
self._devices_connected_through_gateway_messages_rate_limit.set_limit(
306+
gateway_devices_rate_limit_config.get("messages"))
307+
else:
308+
self._devices_connected_through_gateway_messages_rate_limit.set_limit('0:0,')
306309

307-
telemetry_messages_rate_limit_config = gateway_devices_rate_limit_config['telemetryMessages'] if gateway_devices_rate_limit_config['telemetryMessages'] else '0:0,'
308-
self._devices_connected_through_gateway_telemetry_messages_rate_limit.set_limit(telemetry_messages_rate_limit_config)
310+
if gateway_devices_rate_limit_config.get('telemetryMessages'):
311+
self._devices_connected_through_gateway_telemetry_messages_rate_limit.set_limit(
312+
gateway_devices_rate_limit_config.get('telemetryMessages'))
313+
else:
314+
self._devices_connected_through_gateway_telemetry_messages_rate_limit.set_limit('0:0,')
309315

310-
telemetry_dp_rate_limit_config = gateway_devices_rate_limit_config['telemetryDataPoints'] if gateway_devices_rate_limit_config['telemetryDataPoints'] else '0:0,'
311-
self._devices_connected_through_gateway_telemetry_datapoints_rate_limit.set_limit(telemetry_dp_rate_limit_config)
316+
if gateway_devices_rate_limit_config.get('telemetryDataPoints'):
317+
self._devices_connected_through_gateway_telemetry_datapoints_rate_limit.set_limit(
318+
gateway_devices_rate_limit_config.get('telemetryDataPoints'))
319+
else:
320+
self._devices_connected_through_gateway_telemetry_datapoints_rate_limit.set_limit('0:0,')
312321

313322
super().on_service_configuration(_, {'rateLimit': gateway_device_itself_rate_limit_config, **service_config}, *args, **kwargs)

0 commit comments

Comments
 (0)