Skip to content

Commit de852b1

Browse files
authored
Merge pull request #78 from samson0v/master
Fixed setting rate limits (no limit) via service configuration callback
2 parents 122f40b + e4f1257 commit de852b1

File tree

2 files changed

+25
-6
lines changed

2 files changed

+25
-6
lines changed

tb_device_mqtt.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -702,11 +702,19 @@ def on_service_configuration(self, _, response, *args, **kwargs):
702702
rate_limits_config = service_config.get("rateLimit")
703703

704704
if rate_limits_config.get('messages'):
705-
self._messages_rate_limit.set_limit(rate_limits_config.get('messages'), percentage=80)
705+
self._messages_rate_limit.set_limit(rate_limits_config.get('messages'))
706+
else:
707+
self._messages_rate_limit.set_limit('0:0,')
708+
706709
if rate_limits_config.get('telemetryMessages'):
707-
self._telemetry_rate_limit.set_limit(rate_limits_config.get('telemetryMessages'), percentage=80)
710+
self._telemetry_rate_limit.set_limit(rate_limits_config.get('telemetryMessages'))
711+
else:
712+
self._telemetry_rate_limit.set_limit('0:0,')
713+
708714
if rate_limits_config.get('telemetryDataPoints'):
709-
self._telemetry_dp_rate_limit.set_limit(rate_limits_config.get('telemetryDataPoints'), percentage=80)
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,')
710718

711719
if service_config.get('maxInflightMessages'):
712720
use_messages_rate_limit_factor = self._messages_rate_limit.has_limit()

tb_gateway_mqtt.py

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -302,10 +302,21 @@ def __on_service_configuration(self, _, response, *args, **kwargs):
302302
gateway_device_itself_rate_limit_config = service_config.pop('rateLimits', {})
303303

304304
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"))
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,')
309+
306310
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'))
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,')
315+
308316
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'))
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,')
310321

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

0 commit comments

Comments
 (0)