Commit 45c5703f2f5e28de8fe911cd0c8955d977f47e57

Authored by Andrii Shvaika
1 parent 040473ac

eDRX cycle parameters on device level

... ... @@ -136,7 +136,9 @@ public class LwM2mClient implements Serializable {
136 136 builder.setDeviceName(device.getName());
137 137 deviceProfileOpt.ifPresent(deviceProfile -> updateSession(deviceProfile, builder));
138 138 this.session = builder.build();
139   - this.powerMode = ((Lwm2mDeviceTransportConfiguration) device.getDeviceData().getTransportConfiguration()).getPowerMode();
  139 + Lwm2mDeviceTransportConfiguration transportConfiguration = (Lwm2mDeviceTransportConfiguration) device.getDeviceData().getTransportConfiguration();
  140 + this.powerMode = transportConfiguration.getPowerMode();
  141 + this.edrxCycle = transportConfiguration.getEdrxCycle();
140 142 }
141 143
142 144 public void onDeviceProfileUpdate(DeviceProfile deviceProfile) {
... ...
... ... @@ -349,11 +349,15 @@ public class LwM2mClientContextImpl implements LwM2mClientContext {
349 349
350 350 @Override
351 351 public Long getRequestTimeout(LwM2mClient client) {
352   - var clientProfile = getProfile(client.getProfileId());
353   - OtherConfiguration clientLwM2mSettings = clientProfile.getClientLwM2mSettings();
354 352 Long timeout = null;
355   - if (PowerMode.E_DRX.equals(clientLwM2mSettings.getPowerMode())) {
356   - timeout = clientLwM2mSettings.getEdrxCycle();
  353 + if (PowerMode.E_DRX.equals(client.getPowerMode()) && client.getEdrxCycle() != null) {
  354 + timeout = client.getEdrxCycle();
  355 + } else {
  356 + var clientProfile = getProfile(client.getProfileId());
  357 + OtherConfiguration clientLwM2mSettings = clientProfile.getClientLwM2mSettings();
  358 + if (PowerMode.E_DRX.equals(clientLwM2mSettings.getPowerMode())) {
  359 + timeout = clientLwM2mSettings.getEdrxCycle();
  360 + }
357 361 }
358 362 if (timeout == null || timeout == 0L) {
359 363 timeout = this.config.getTimeout();
... ...
... ... @@ -1222,7 +1222,7 @@
1222 1222 "drx": "Discontinuous Reception (DRX)",
1223 1223 "edrx": "Extended Discontinuous Reception (eDRX)"
1224 1224 },
1225   - "edrx-cycle": "eDRX cycle",
  1225 + "edrx-cycle": "eDRX cycle in milliseconds",
1226 1226 "edrx-cycle-required": "eDRX cycle is required.",
1227 1227 "edrx-cycle-pattern": "eDRX cycle must be a positive integer.",
1228 1228 "lwm2m": {
... ...