Showing
8 changed files
with
45 additions
and
26 deletions
... | ... | @@ -27,6 +27,7 @@ public class OtherConfiguration { |
27 | 27 | private Integer swUpdateStrategy; |
28 | 28 | private Integer clientOnlyObserveAfterConnect; |
29 | 29 | private PowerMode powerMode; |
30 | + private Long eDRXCycle; | |
30 | 31 | private String fwUpdateResource; |
31 | 32 | private String swUpdateResource; |
32 | 33 | private boolean compositeOperationsSupport; | ... | ... |
... | ... | @@ -191,7 +191,7 @@ public class DefaultLwM2MAttributesService implements LwM2MAttributesService { |
191 | 191 | |
192 | 192 | private void pushUpdateToClientIfNeeded(LwM2mClient lwM2MClient, Object valueOld, Object newValue, String versionedId) { |
193 | 193 | if (newValue != null && (valueOld == null || !newValue.toString().equals(valueOld.toString()))) { |
194 | - TbLwM2MWriteReplaceRequest request = TbLwM2MWriteReplaceRequest.builder().versionedId(versionedId).value(newValue).timeout(this.config.getTimeout()).build(); | |
194 | + TbLwM2MWriteReplaceRequest request = TbLwM2MWriteReplaceRequest.builder().versionedId(versionedId).value(newValue).timeout(clientContext.getRequestTimeout(lwM2MClient)).build(); | |
195 | 195 | downlinkHandler.sendWriteReplaceRequest(lwM2MClient, request, new TbLwM2MWriteResponseCallback(uplinkHandler, logService, lwM2MClient, versionedId)); |
196 | 196 | } else { |
197 | 197 | log.error("Failed update resource [{}] [{}]", versionedId, newValue); | ... | ... |
... | ... | @@ -26,6 +26,7 @@ import org.springframework.context.annotation.Lazy; |
26 | 26 | import org.springframework.stereotype.Service; |
27 | 27 | import org.thingsboard.server.common.data.DeviceProfile; |
28 | 28 | import org.thingsboard.server.common.data.device.data.PowerMode; |
29 | +import org.thingsboard.server.common.data.device.data.lwm2m.OtherConfiguration; | |
29 | 30 | import org.thingsboard.server.common.data.device.profile.Lwm2mDeviceProfileTransportConfiguration; |
30 | 31 | import org.thingsboard.server.common.data.id.DeviceProfileId; |
31 | 32 | import org.thingsboard.server.common.transport.TransportDeviceProfileCache; |
... | ... | @@ -346,6 +347,20 @@ public class LwM2mClientContextImpl implements LwM2mClientContext { |
346 | 347 | getProfile(client.getProfileId()).getClientLwM2mSettings().isCompositeOperationsSupport(); |
347 | 348 | } |
348 | 349 | |
350 | + @Override | |
351 | + public Long getRequestTimeout(LwM2mClient client) { | |
352 | + var clientProfile = getProfile(client.getProfileId()); | |
353 | + OtherConfiguration clientLwM2mSettings = clientProfile.getClientLwM2mSettings(); | |
354 | + Long timeout = null; | |
355 | + if (PowerMode.E_DRX.equals(clientLwM2mSettings.getPowerMode())) { | |
356 | + timeout = clientLwM2mSettings.getEDRXCycle(); | |
357 | + } | |
358 | + if (timeout == null || timeout == 0L) { | |
359 | + timeout = this.config.getTimeout(); | |
360 | + } | |
361 | + return timeout; | |
362 | + } | |
363 | + | |
349 | 364 | private boolean validateResourceInModel(LwM2mClient lwM2mClient, String pathIdVer, boolean isWritableNotOptional) { |
350 | 365 | ResourceModel resourceModel = lwM2mClient.getResourceModel(pathIdVer, this.config |
351 | 366 | .getModelProvider()); | ... | ... |
... | ... | @@ -131,7 +131,7 @@ public class DefaultLwM2mDownlinkMsgHandler extends LwM2MExecutorAwareService im |
131 | 131 | ContentFormat responseContentFormat = ContentFormat.SENML_JSON; |
132 | 132 | |
133 | 133 | ReadCompositeRequest downlink = new ReadCompositeRequest(requestContentFormat, responseContentFormat, request.getObjectIds()); |
134 | - sendCompositeRequest(client, downlink, this.config.getTimeout(), callback); | |
134 | + sendCompositeRequest(client, downlink, request.getTimeout(), callback); | |
135 | 135 | } |
136 | 136 | |
137 | 137 | @Override |
... | ... | @@ -248,7 +248,8 @@ public class DefaultLwM2mDownlinkMsgHandler extends LwM2MExecutorAwareService im |
248 | 248 | ContentFormat contentFormat = ContentFormat.SENML_JSON; |
249 | 249 | try { |
250 | 250 | WriteCompositeRequest downlink = new WriteCompositeRequest(contentFormat, rpcWriteCompositeRequest.getNodes()); |
251 | - sendWriteCompositeRequest(client, downlink, this.config.getTimeout(), callback); | |
251 | + //TODO: replace config.getTimeout(); | |
252 | + sendWriteCompositeRequest(client, downlink, config.getTimeout(), callback); | |
252 | 253 | } catch (Exception e) { |
253 | 254 | callback.onError(JacksonUtil.toString(rpcWriteCompositeRequest), e); |
254 | 255 | } | ... | ... |
... | ... | @@ -417,7 +417,7 @@ public class DefaultLwM2MOtaUpdateService extends LwM2MExecutorAwareService impl |
417 | 417 | |
418 | 418 | private void startUpdateUsingUrl(LwM2mClient client, String id, String url) { |
419 | 419 | String targetIdVer = convertObjectIdToVersionedId(id, client.getRegistration()); |
420 | - TbLwM2MWriteReplaceRequest request = TbLwM2MWriteReplaceRequest.builder().versionedId(targetIdVer).value(url).timeout(config.getTimeout()).build(); | |
420 | + TbLwM2MWriteReplaceRequest request = TbLwM2MWriteReplaceRequest.builder().versionedId(targetIdVer).value(url).timeout(clientContext.getRequestTimeout(client)).build(); | |
421 | 421 | downlinkHandler.sendWriteReplaceRequest(client, request, new TbLwM2MWriteResponseCallback(uplinkHandler, logService, client, targetIdVer)); |
422 | 422 | } |
423 | 423 | |
... | ... | @@ -486,7 +486,7 @@ public class DefaultLwM2MOtaUpdateService extends LwM2MExecutorAwareService impl |
486 | 486 | byte[] firmwareChunk = otaPackageDataCache.get(otaPackageId.toString(), 0, 0); |
487 | 487 | TbLwM2MWriteReplaceRequest writeRequest = TbLwM2MWriteReplaceRequest.builder().versionedId(versionedId) |
488 | 488 | .value(firmwareChunk).contentFormat(ContentFormat.OPAQUE) |
489 | - .timeout(config.getTimeout()).build(); | |
489 | + .timeout(clientContext.getRequestTimeout(client)).build(); | |
490 | 490 | downlinkHandler.sendWriteReplaceRequest(client, writeRequest, new TbLwM2MWriteResponseCallback(uplinkHandler, logService, client, versionedId)); |
491 | 491 | } |
492 | 492 | |
... | ... | @@ -501,17 +501,17 @@ public class DefaultLwM2MOtaUpdateService extends LwM2MExecutorAwareService impl |
501 | 501 | } |
502 | 502 | |
503 | 503 | private void executeFwUpdate(LwM2mClient client) { |
504 | - TbLwM2MExecuteRequest request = TbLwM2MExecuteRequest.builder().versionedId(FW_EXECUTE_ID).timeout(config.getTimeout()).build(); | |
504 | + TbLwM2MExecuteRequest request = TbLwM2MExecuteRequest.builder().versionedId(FW_EXECUTE_ID).timeout(clientContext.getRequestTimeout(client)).build(); | |
505 | 505 | downlinkHandler.sendExecuteRequest(client, request, new TbLwM2MExecuteCallback(logService, client, FW_EXECUTE_ID)); |
506 | 506 | } |
507 | 507 | |
508 | 508 | private void executeSwInstall(LwM2mClient client) { |
509 | - TbLwM2MExecuteRequest request = TbLwM2MExecuteRequest.builder().versionedId(SW_INSTALL_ID).timeout(config.getTimeout()).build(); | |
509 | + TbLwM2MExecuteRequest request = TbLwM2MExecuteRequest.builder().versionedId(SW_INSTALL_ID).timeout(clientContext.getRequestTimeout(client)).build(); | |
510 | 510 | downlinkHandler.sendExecuteRequest(client, request, new TbLwM2MExecuteCallback(logService, client, SW_INSTALL_ID)); |
511 | 511 | } |
512 | 512 | |
513 | 513 | private void executeSwUninstallForUpdate(LwM2mClient client) { |
514 | - TbLwM2MExecuteRequest request = TbLwM2MExecuteRequest.builder().versionedId(SW_UN_INSTALL_ID).params("1").timeout(config.getTimeout()).build(); | |
514 | + TbLwM2MExecuteRequest request = TbLwM2MExecuteRequest.builder().versionedId(SW_UN_INSTALL_ID).params("1").timeout(clientContext.getRequestTimeout(client)).build(); | |
515 | 515 | downlinkHandler.sendExecuteRequest(client, request, new TbLwM2MExecuteCallback(logService, client, SW_INSTALL_ID)); |
516 | 516 | } |
517 | 517 | ... | ... |
... | ... | @@ -171,7 +171,7 @@ public class DefaultLwM2MRpcRequestHandler implements LwM2MRpcRequestHandler { |
171 | 171 | } |
172 | 172 | |
173 | 173 | private void sendReadRequest(LwM2mClient client, TransportProtos.ToDeviceRpcRequestMsg requestMsg, String versionedId) { |
174 | - TbLwM2MReadRequest request = TbLwM2MReadRequest.builder().versionedId(versionedId).timeout(this.config.getTimeout()).build(); | |
174 | + TbLwM2MReadRequest request = TbLwM2MReadRequest.builder().versionedId(versionedId).timeout(clientContext.getRequestTimeout(client)).build(); | |
175 | 175 | var mainCallback = new TbLwM2MReadCallback(uplinkHandler, logService, client, versionedId); |
176 | 176 | var rpcCallback = new RpcReadResponseCallback<>(transportService, client, requestMsg, mainCallback); |
177 | 177 | downlinkHandler.sendReadRequest(client, request, rpcCallback); |
... | ... | @@ -179,38 +179,38 @@ public class DefaultLwM2MRpcRequestHandler implements LwM2MRpcRequestHandler { |
179 | 179 | |
180 | 180 | private void sendReadCompositeRequest(LwM2mClient client, TransportProtos.ToDeviceRpcRequestMsg requestMsg) { |
181 | 181 | String[] versionedIds = getIdsFromParameters(client, requestMsg); |
182 | - TbLwM2MReadCompositeRequest request = TbLwM2MReadCompositeRequest.builder().versionedIds(versionedIds).timeout(this.config.getTimeout()).build(); | |
182 | + TbLwM2MReadCompositeRequest request = TbLwM2MReadCompositeRequest.builder().versionedIds(versionedIds).timeout(clientContext.getRequestTimeout(client)).build(); | |
183 | 183 | var mainCallback = new TbLwM2MReadCompositeCallback(uplinkHandler, logService, client, versionedIds); |
184 | 184 | var rpcCallback = new RpcReadResponseCompositeCallback(transportService, client, requestMsg, mainCallback); |
185 | 185 | downlinkHandler.sendReadCompositeRequest(client, request, rpcCallback); |
186 | 186 | } |
187 | 187 | |
188 | 188 | private void sendObserveRequest(LwM2mClient client, TransportProtos.ToDeviceRpcRequestMsg requestMsg, String versionedId) { |
189 | - TbLwM2MObserveRequest request = TbLwM2MObserveRequest.builder().versionedId(versionedId).timeout(this.config.getTimeout()).build(); | |
189 | + TbLwM2MObserveRequest request = TbLwM2MObserveRequest.builder().versionedId(versionedId).timeout(clientContext.getRequestTimeout(client)).build(); | |
190 | 190 | var mainCallback = new TbLwM2MObserveCallback(uplinkHandler, logService, client, versionedId); |
191 | 191 | var rpcCallback = new RpcReadResponseCallback<>(transportService, client, requestMsg, mainCallback); |
192 | 192 | downlinkHandler.sendObserveRequest(client, request, rpcCallback); |
193 | 193 | } |
194 | 194 | |
195 | 195 | private void sendObserveAllRequest(LwM2mClient client, TransportProtos.ToDeviceRpcRequestMsg requestMsg) { |
196 | - TbLwM2MObserveAllRequest request = TbLwM2MObserveAllRequest.builder().timeout(this.config.getTimeout()).build(); | |
196 | + TbLwM2MObserveAllRequest request = TbLwM2MObserveAllRequest.builder().timeout(clientContext.getRequestTimeout(client)).build(); | |
197 | 197 | downlinkHandler.sendObserveAllRequest(client, request, new RpcLinkSetCallback<>(transportService, client, requestMsg, null)); |
198 | 198 | } |
199 | 199 | |
200 | 200 | private void sendDiscoverAllRequest(LwM2mClient client, TransportProtos.ToDeviceRpcRequestMsg requestMsg) { |
201 | - TbLwM2MDiscoverAllRequest request = TbLwM2MDiscoverAllRequest.builder().timeout(this.config.getTimeout()).build(); | |
201 | + TbLwM2MDiscoverAllRequest request = TbLwM2MDiscoverAllRequest.builder().timeout(clientContext.getRequestTimeout(client)).build(); | |
202 | 202 | downlinkHandler.sendDiscoverAllRequest(client, request, new RpcLinkSetCallback<>(transportService, client, requestMsg, null)); |
203 | 203 | } |
204 | 204 | |
205 | 205 | private void sendDiscoverRequest(LwM2mClient client, TransportProtos.ToDeviceRpcRequestMsg requestMsg, String versionedId) { |
206 | - TbLwM2MDiscoverRequest request = TbLwM2MDiscoverRequest.builder().versionedId(versionedId).timeout(this.config.getTimeout()).build(); | |
206 | + TbLwM2MDiscoverRequest request = TbLwM2MDiscoverRequest.builder().versionedId(versionedId).timeout(clientContext.getRequestTimeout(client)).build(); | |
207 | 207 | var mainCallback = new TbLwM2MDiscoverCallback(logService, client, versionedId); |
208 | 208 | var rpcCallback = new RpcDiscoverCallback(transportService, client, requestMsg, mainCallback); |
209 | 209 | downlinkHandler.sendDiscoverRequest(client, request, rpcCallback); |
210 | 210 | } |
211 | 211 | |
212 | 212 | private void sendExecuteRequest(LwM2mClient client, TransportProtos.ToDeviceRpcRequestMsg requestMsg, String versionedId) { |
213 | - TbLwM2MExecuteRequest downlink = TbLwM2MExecuteRequest.builder().versionedId(versionedId).timeout(this.config.getTimeout()).build(); | |
213 | + TbLwM2MExecuteRequest downlink = TbLwM2MExecuteRequest.builder().versionedId(versionedId).timeout(clientContext.getRequestTimeout(client)).build(); | |
214 | 214 | var mainCallback = new TbLwM2MExecuteCallback(logService, client, versionedId); |
215 | 215 | var rpcCallback = new RpcEmptyResponseCallback<>(transportService, client, requestMsg, mainCallback); |
216 | 216 | downlinkHandler.sendExecuteRequest(client, downlink, rpcCallback); |
... | ... | @@ -220,7 +220,7 @@ public class DefaultLwM2MRpcRequestHandler implements LwM2MRpcRequestHandler { |
220 | 220 | RpcWriteAttributesRequest requestBody = JacksonUtil.fromString(requestMsg.getParams(), RpcWriteAttributesRequest.class); |
221 | 221 | TbLwM2MWriteAttributesRequest request = TbLwM2MWriteAttributesRequest.builder().versionedId(versionedId) |
222 | 222 | .attributes(requestBody.getAttributes()) |
223 | - .timeout(this.config.getTimeout()).build(); | |
223 | + .timeout(clientContext.getRequestTimeout(client)).build(); | |
224 | 224 | var mainCallback = new TbLwM2MWriteAttributesCallback(logService, client, versionedId); |
225 | 225 | var rpcCallback = new RpcEmptyResponseCallback<>(transportService, client, requestMsg, mainCallback); |
226 | 226 | downlinkHandler.sendWriteAttributesRequest(client, request, rpcCallback); |
... | ... | @@ -229,7 +229,7 @@ public class DefaultLwM2MRpcRequestHandler implements LwM2MRpcRequestHandler { |
229 | 229 | private void sendWriteUpdateRequest(LwM2mClient client, TransportProtos.ToDeviceRpcRequestMsg requestMsg, String versionedId) { |
230 | 230 | RpcWriteUpdateRequest requestBody = JacksonUtil.fromString(requestMsg.getParams(), RpcWriteUpdateRequest.class); |
231 | 231 | TbLwM2MWriteUpdateRequest.TbLwM2MWriteUpdateRequestBuilder builder = TbLwM2MWriteUpdateRequest.builder().versionedId(versionedId); |
232 | - builder.value(requestBody.getValue()).timeout(this.config.getTimeout()); | |
232 | + builder.value(requestBody.getValue()).timeout(clientContext.getRequestTimeout(client)); | |
233 | 233 | var mainCallback = new TbLwM2MWriteResponseCallback(uplinkHandler, logService, client, versionedId); |
234 | 234 | var rpcCallback = new RpcEmptyResponseCallback<>(transportService, client, requestMsg, mainCallback); |
235 | 235 | downlinkHandler.sendWriteUpdateRequest(client, builder.build(), rpcCallback); |
... | ... | @@ -239,7 +239,7 @@ public class DefaultLwM2MRpcRequestHandler implements LwM2MRpcRequestHandler { |
239 | 239 | RpcWriteReplaceRequest requestBody = JacksonUtil.fromString(requestMsg.getParams(), RpcWriteReplaceRequest.class); |
240 | 240 | TbLwM2MWriteReplaceRequest request = TbLwM2MWriteReplaceRequest.builder().versionedId(versionedId) |
241 | 241 | .value(requestBody.getValue()) |
242 | - .timeout(this.config.getTimeout()).build(); | |
242 | + .timeout(clientContext.getRequestTimeout(client)).build(); | |
243 | 243 | var mainCallback = new TbLwM2MWriteResponseCallback(uplinkHandler, logService, client, versionedId); |
244 | 244 | var rpcCallback = new RpcEmptyResponseCallback<>(transportService, client, requestMsg, mainCallback); |
245 | 245 | downlinkHandler.sendWriteReplaceRequest(client, request, rpcCallback); |
... | ... | @@ -261,21 +261,21 @@ public class DefaultLwM2MRpcRequestHandler implements LwM2MRpcRequestHandler { |
261 | 261 | } |
262 | 262 | |
263 | 263 | private void sendCancelObserveRequest(LwM2mClient client, TransportProtos.ToDeviceRpcRequestMsg requestMsg, String versionedId) { |
264 | - TbLwM2MCancelObserveRequest downlink = TbLwM2MCancelObserveRequest.builder().versionedId(versionedId).timeout(this.config.getTimeout()).build(); | |
264 | + TbLwM2MCancelObserveRequest downlink = TbLwM2MCancelObserveRequest.builder().versionedId(versionedId).timeout(clientContext.getRequestTimeout(client)).build(); | |
265 | 265 | var mainCallback = new TbLwM2MCancelObserveCallback(logService, client, versionedId); |
266 | 266 | var rpcCallback = new RpcCancelObserveCallback(transportService, client, requestMsg, mainCallback); |
267 | 267 | downlinkHandler.sendCancelObserveRequest(client, downlink, rpcCallback); |
268 | 268 | } |
269 | 269 | |
270 | 270 | private void sendDeleteRequest(LwM2mClient client, TransportProtos.ToDeviceRpcRequestMsg requestMsg, String versionedId) { |
271 | - TbLwM2MDeleteRequest downlink = TbLwM2MDeleteRequest.builder().versionedId(versionedId).timeout(this.config.getTimeout()).build(); | |
271 | + TbLwM2MDeleteRequest downlink = TbLwM2MDeleteRequest.builder().versionedId(versionedId).timeout(clientContext.getRequestTimeout(client)).build(); | |
272 | 272 | var mainCallback = new TbLwM2MDeleteCallback(logService, client, versionedId); |
273 | 273 | var rpcCallback = new RpcEmptyResponseCallback<>(transportService, client, requestMsg, mainCallback); |
274 | 274 | downlinkHandler.sendDeleteRequest(client, downlink, rpcCallback); |
275 | 275 | } |
276 | 276 | |
277 | 277 | private void sendCancelAllObserveRequest(LwM2mClient client, TransportProtos.ToDeviceRpcRequestMsg requestMsg) { |
278 | - TbLwM2MCancelAllRequest downlink = TbLwM2MCancelAllRequest.builder().timeout(this.config.getTimeout()).build(); | |
278 | + TbLwM2MCancelAllRequest downlink = TbLwM2MCancelAllRequest.builder().timeout(clientContext.getRequestTimeout(client)).build(); | |
279 | 279 | var mainCallback = new TbLwM2MCancelAllObserveCallback(logService, client); |
280 | 280 | var rpcCallback = new RpcCancelAllObserveCallback(transportService, client, requestMsg, mainCallback); |
281 | 281 | downlinkHandler.sendCancelAllRequest(client, downlink, rpcCallback); | ... | ... |
... | ... | @@ -457,7 +457,7 @@ public class DefaultLwM2MUplinkMsgHandler extends LwM2MExecutorAwareService impl |
457 | 457 | } |
458 | 458 | |
459 | 459 | private void sendDiscoverRequest(LwM2mClient lwM2MClient, String targetId) { |
460 | - TbLwM2MDiscoverRequest request = TbLwM2MDiscoverRequest.builder().versionedId(targetId).timeout(this.config.getTimeout()).build(); | |
460 | + TbLwM2MDiscoverRequest request = TbLwM2MDiscoverRequest.builder().versionedId(targetId).timeout(clientContext.getRequestTimeout(lwM2MClient)).build(); | |
461 | 461 | defaultLwM2MDownlinkMsgHandler.sendDiscoverRequest(lwM2MClient, request, new TbLwM2MDiscoverCallback(logService, lwM2MClient, targetId)); |
462 | 462 | } |
463 | 463 | |
... | ... | @@ -466,7 +466,7 @@ public class DefaultLwM2MUplinkMsgHandler extends LwM2MExecutorAwareService impl |
466 | 466 | } |
467 | 467 | |
468 | 468 | private void sendReadRequest(LwM2mClient lwM2MClient, String versionedId, DownlinkRequestCallback<ReadRequest, ReadResponse> callback) { |
469 | - TbLwM2MReadRequest request = TbLwM2MReadRequest.builder().versionedId(versionedId).timeout(this.config.getTimeout()).build(); | |
469 | + TbLwM2MReadRequest request = TbLwM2MReadRequest.builder().versionedId(versionedId).timeout(clientContext.getRequestTimeout(lwM2MClient)).build(); | |
470 | 470 | defaultLwM2MDownlinkMsgHandler.sendReadRequest(lwM2MClient, request, callback); |
471 | 471 | } |
472 | 472 | |
... | ... | @@ -475,17 +475,17 @@ public class DefaultLwM2MUplinkMsgHandler extends LwM2MExecutorAwareService impl |
475 | 475 | } |
476 | 476 | |
477 | 477 | private void sendObserveRequest(LwM2mClient lwM2MClient, String versionedId, DownlinkRequestCallback<ObserveRequest, ObserveResponse> callback) { |
478 | - TbLwM2MObserveRequest request = TbLwM2MObserveRequest.builder().versionedId(versionedId).timeout(this.config.getTimeout()).build(); | |
478 | + TbLwM2MObserveRequest request = TbLwM2MObserveRequest.builder().versionedId(versionedId).timeout(clientContext.getRequestTimeout(lwM2MClient)).build(); | |
479 | 479 | defaultLwM2MDownlinkMsgHandler.sendObserveRequest(lwM2MClient, request, callback); |
480 | 480 | } |
481 | 481 | |
482 | 482 | private void sendWriteAttributesRequest(LwM2mClient lwM2MClient, String targetId, ObjectAttributes params) { |
483 | - TbLwM2MWriteAttributesRequest request = TbLwM2MWriteAttributesRequest.builder().versionedId(targetId).attributes(params).timeout(this.config.getTimeout()).build(); | |
483 | + TbLwM2MWriteAttributesRequest request = TbLwM2MWriteAttributesRequest.builder().versionedId(targetId).attributes(params).timeout(clientContext.getRequestTimeout(lwM2MClient)).build(); | |
484 | 484 | defaultLwM2MDownlinkMsgHandler.sendWriteAttributesRequest(lwM2MClient, request, new TbLwM2MWriteAttributesCallback(logService, lwM2MClient, targetId)); |
485 | 485 | } |
486 | 486 | |
487 | 487 | private void sendCancelObserveRequest(String versionedId, LwM2mClient client) { |
488 | - TbLwM2MCancelObserveRequest request = TbLwM2MCancelObserveRequest.builder().versionedId(versionedId).timeout(this.config.getTimeout()).build(); | |
488 | + TbLwM2MCancelObserveRequest request = TbLwM2MCancelObserveRequest.builder().versionedId(versionedId).timeout(clientContext.getRequestTimeout(client)).build(); | |
489 | 489 | defaultLwM2MDownlinkMsgHandler.sendCancelObserveRequest(client, request, new TbLwM2MCancelObserveCallback(logService, client, versionedId)); |
490 | 490 | } |
491 | 491 | ... | ... |