Skip to content

Commit a00f629

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

File tree

2 files changed

+16
-12
lines changed

2 files changed

+16
-12
lines changed

tb_device_mqtt.py

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

704-
if rate_limits_config.get('messages'):
705-
self._messages_rate_limit.set_limit(rate_limits_config.get('messages'), percentage=80)
706-
if rate_limits_config.get('telemetryMessages'):
707-
self._telemetry_rate_limit.set_limit(rate_limits_config.get('telemetryMessages'), percentage=80)
708-
if rate_limits_config.get('telemetryDataPoints'):
709-
self._telemetry_dp_rate_limit.set_limit(rate_limits_config.get('telemetryDataPoints'), percentage=80)
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)
706+
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+
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)
710712

711713
if service_config.get('maxInflightMessages'):
712714
use_messages_rate_limit_factor = self._messages_rate_limit.has_limit()

tb_gateway_mqtt.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -301,11 +301,13 @@ 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-
if gateway_devices_rate_limit_config.get("messages"):
305-
self._devices_connected_through_gateway_messages_rate_limit.set_limit(gateway_devices_rate_limit_config.get("messages"))
306-
if gateway_devices_rate_limit_config.get('telemetryMessages'):
307-
self._devices_connected_through_gateway_telemetry_messages_rate_limit.set_limit(gateway_devices_rate_limit_config.get('telemetryMessages'))
308-
if gateway_devices_rate_limit_config.get('telemetryDataPoints'):
309-
self._devices_connected_through_gateway_telemetry_datapoints_rate_limit.set_limit(gateway_devices_rate_limit_config.get('telemetryDataPoints'))
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)
306+
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)
309+
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)
310312

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

0 commit comments

Comments
 (0)