@@ -307,26 +307,32 @@ def _change_devices_rate_limit(self, rate_limit_key, rate_limit_value, percentag
307
307
device [rate_limit_key ].set_limit (rate_limit_value , percentage = percentage )
308
308
309
309
def __on_service_configuration (self , _ , service_config , * args , ** kwargs ):
310
- if service_config .get ("gatewayDeviceMessagesRateLimits" ):
310
+ gateway_rate_limit_config = service_config .pop ('gatewayRateLimits' , {})
311
+ device_rate_limit_config = service_config .pop ('rateLimits' , {})
312
+
313
+ super ().on_service_configuration (_ , {'rateLimit' : gateway_rate_limit_config , ** service_config }, * args , ** kwargs )
314
+
315
+ if device_rate_limit_config .get ("messages" ):
311
316
# change global rate limit for future devices
312
- self .__device_messages_rate_limit = service_config .get ('gatewayDeviceMessagesRateLimits ' )
317
+ self .__device_messages_rate_limit = device_rate_limit_config .get ('messages ' )
313
318
314
319
# change rate limit for already connected devices
315
- self ._change_devices_rate_limit ('msg_rate_limit' , service_config .get ('gatewayDeviceMessagesRateLimits ' ))
316
- if service_config .get ('gatewayDeviceTelemetryMessagesRateLimits ' ):
320
+ self ._change_devices_rate_limit ('msg_rate_limit' , device_rate_limit_config .get ('messages ' ))
321
+ if device_rate_limit_config .get ('telemetryMessages ' ):
317
322
# change global rate limit for future devices
318
- self .__device_telemetry_rate_limit = service_config .get ('gatewayDeviceTelemetryMessagesRateLimits ' )
323
+ self .__device_telemetry_rate_limit = device_rate_limit_config .get ('telemetryMessages ' )
319
324
320
325
# change rate limit for already connected devices
321
326
self ._change_devices_rate_limit ('telemetry_msg_rate_limit' ,
322
- service_config .get ('gatewayDeviceTelemetryMessagesRateLimits ' ))
323
- if service_config .get ('gatewayDeviceTelemetryDataPointsRateLimits ' ):
327
+ device_rate_limit_config .get ('telemetryMessages ' ))
328
+ if device_rate_limit_config .get ('telemetryDataPoints ' ):
324
329
# change global rate limit for future devices
325
- self .__device_telemetry_dp_rate_limit = service_config .get ('gatewayDeviceTelemetryDataPointsRateLimits ' )
330
+ self .__device_telemetry_dp_rate_limit = device_rate_limit_config .get ('telemetryDataPoints ' )
326
331
327
332
# change rate limit for already connected devices
328
333
self ._change_devices_rate_limit ('telemetry_dp_rate_limit' ,
329
- service_config .get ('gatewayDeviceTelemetryDataPointsRateLimits' ))
334
+ device_rate_limit_config .get ('telemetryDataPoints' ))
335
+
330
336
if service_config .get ('maxInflightMessages' ):
331
337
self .max_inflight_messages_set (int (service_config .get ('maxInflightMessages' )))
332
338
if service_config .get ('maxPayloadSize' ):
0 commit comments