|
@@ -122,7 +122,7 @@ class DeviceActorMessageProcessor extends AbstractContextAwareMsgProcessor { |
|
@@ -122,7 +122,7 @@ class DeviceActorMessageProcessor extends AbstractContextAwareMsgProcessor { |
122
|
private final Map<UUID, SessionInfo> attributeSubscriptions;
|
122
|
private final Map<UUID, SessionInfo> attributeSubscriptions;
|
123
|
private final Map<UUID, SessionInfo> rpcSubscriptions;
|
123
|
private final Map<UUID, SessionInfo> rpcSubscriptions;
|
124
|
private final Map<Integer, ToDeviceRpcRequestMetadata> toDeviceRpcPendingMap;
|
124
|
private final Map<Integer, ToDeviceRpcRequestMetadata> toDeviceRpcPendingMap;
|
125
|
- private final boolean rpcSequenceEnabled;
|
125
|
+ private final boolean rpcSequential;
|
126
|
|
126
|
|
127
|
private int rpcSeq = 0;
|
127
|
private int rpcSeq = 0;
|
128
|
private String deviceName;
|
128
|
private String deviceName;
|
|
@@ -134,7 +134,7 @@ class DeviceActorMessageProcessor extends AbstractContextAwareMsgProcessor { |
|
@@ -134,7 +134,7 @@ class DeviceActorMessageProcessor extends AbstractContextAwareMsgProcessor { |
134
|
super(systemContext);
|
134
|
super(systemContext);
|
135
|
this.tenantId = tenantId;
|
135
|
this.tenantId = tenantId;
|
136
|
this.deviceId = deviceId;
|
136
|
this.deviceId = deviceId;
|
137
|
- this.rpcSequenceEnabled = systemContext.isRpcSequenceEnabled();
|
137
|
+ this.rpcSequential = systemContext.isRpcSequential();
|
138
|
this.attributeSubscriptions = new HashMap<>();
|
138
|
this.attributeSubscriptions = new HashMap<>();
|
139
|
this.rpcSubscriptions = new HashMap<>();
|
139
|
this.rpcSubscriptions = new HashMap<>();
|
140
|
this.toDeviceRpcPendingMap = new LinkedHashMap<>();
|
140
|
this.toDeviceRpcPendingMap = new LinkedHashMap<>();
|
|
@@ -233,7 +233,7 @@ class DeviceActorMessageProcessor extends AbstractContextAwareMsgProcessor { |
|
@@ -233,7 +233,7 @@ class DeviceActorMessageProcessor extends AbstractContextAwareMsgProcessor { |
233
|
}
|
233
|
}
|
234
|
|
234
|
|
235
|
private boolean isSendNewRpcAvailable() {
|
235
|
private boolean isSendNewRpcAvailable() {
|
236
|
- return !rpcSequenceEnabled || toDeviceRpcPendingMap.values().stream().filter(md -> !md.isDelivered()).findAny().isEmpty();
|
236
|
+ return !rpcSequential || toDeviceRpcPendingMap.values().stream().filter(md -> !md.isDelivered()).findAny().isEmpty();
|
237
|
}
|
237
|
}
|
238
|
|
238
|
|
239
|
private Rpc createRpc(ToDeviceRpcRequest request, RpcStatus status) {
|
239
|
private Rpc createRpc(ToDeviceRpcRequest request, RpcStatus status) {
|
|
@@ -332,7 +332,7 @@ class DeviceActorMessageProcessor extends AbstractContextAwareMsgProcessor { |
|
@@ -332,7 +332,7 @@ class DeviceActorMessageProcessor extends AbstractContextAwareMsgProcessor { |
332
|
}
|
332
|
}
|
333
|
Set<Integer> sentOneWayIds = new HashSet<>();
|
333
|
Set<Integer> sentOneWayIds = new HashSet<>();
|
334
|
|
334
|
|
335
|
- if (rpcSequenceEnabled) {
|
335
|
+ if (rpcSequential) {
|
336
|
getFirstRpc().ifPresent(processPendingRpc(context, sessionId, nodeId, sentOneWayIds));
|
336
|
getFirstRpc().ifPresent(processPendingRpc(context, sessionId, nodeId, sentOneWayIds));
|
337
|
} else if (sessionType == SessionType.ASYNC) {
|
337
|
} else if (sessionType == SessionType.ASYNC) {
|
338
|
toDeviceRpcPendingMap.entrySet().forEach(processPendingRpc(context, sessionId, nodeId, sentOneWayIds));
|
338
|
toDeviceRpcPendingMap.entrySet().forEach(processPendingRpc(context, sessionId, nodeId, sentOneWayIds));
|
|
@@ -348,7 +348,7 @@ class DeviceActorMessageProcessor extends AbstractContextAwareMsgProcessor { |
|
@@ -348,7 +348,7 @@ class DeviceActorMessageProcessor extends AbstractContextAwareMsgProcessor { |
348
|
}
|
348
|
}
|
349
|
|
349
|
|
350
|
private void sendNextPendingRequest(TbActorCtx context) {
|
350
|
private void sendNextPendingRequest(TbActorCtx context) {
|
351
|
- if (rpcSequenceEnabled) {
|
351
|
+ if (rpcSequential) {
|
352
|
rpcSubscriptions.forEach((id, s) -> sendPendingRequests(context, id, s.getNodeId()));
|
352
|
rpcSubscriptions.forEach((id, s) -> sendPendingRequests(context, id, s.getNodeId()));
|
353
|
}
|
353
|
}
|
354
|
}
|
354
|
}
|
|
@@ -357,7 +357,7 @@ class DeviceActorMessageProcessor extends AbstractContextAwareMsgProcessor { |
|
@@ -357,7 +357,7 @@ class DeviceActorMessageProcessor extends AbstractContextAwareMsgProcessor { |
357
|
return entry -> {
|
357
|
return entry -> {
|
358
|
ToDeviceRpcRequest request = entry.getValue().getMsg().getMsg();
|
358
|
ToDeviceRpcRequest request = entry.getValue().getMsg().getMsg();
|
359
|
ToDeviceRpcRequestBody body = request.getBody();
|
359
|
ToDeviceRpcRequestBody body = request.getBody();
|
360
|
- if (request.isOneway() && !rpcSequenceEnabled) {
|
360
|
+ if (request.isOneway() && !rpcSequential) {
|
361
|
sentOneWayIds.add(entry.getKey());
|
361
|
sentOneWayIds.add(entry.getKey());
|
362
|
systemContext.getTbCoreDeviceRpcService().processRpcResponseFromDeviceActor(new FromDeviceRpcResponse(request.getId(), null, null));
|
362
|
systemContext.getTbCoreDeviceRpcService().processRpcResponseFromDeviceActor(new FromDeviceRpcResponse(request.getId(), null, null));
|
363
|
}
|
363
|
}
|
|
@@ -599,7 +599,7 @@ class DeviceActorMessageProcessor extends AbstractContextAwareMsgProcessor { |
|
@@ -599,7 +599,7 @@ class DeviceActorMessageProcessor extends AbstractContextAwareMsgProcessor { |
599
|
if (status.equals(RpcStatus.DELIVERED)) {
|
599
|
if (status.equals(RpcStatus.DELIVERED)) {
|
600
|
if (md.getMsg().getMsg().isOneway()) {
|
600
|
if (md.getMsg().getMsg().isOneway()) {
|
601
|
toDeviceRpcPendingMap.remove(responseMsg.getRequestId());
|
601
|
toDeviceRpcPendingMap.remove(responseMsg.getRequestId());
|
602
|
- if (rpcSequenceEnabled) {
|
602
|
+ if (rpcSequential) {
|
603
|
systemContext.getTbCoreDeviceRpcService().processRpcResponseFromDeviceActor(new FromDeviceRpcResponse(rpcId, null, null));
|
603
|
systemContext.getTbCoreDeviceRpcService().processRpcResponseFromDeviceActor(new FromDeviceRpcResponse(rpcId, null, null));
|
604
|
}
|
604
|
}
|
605
|
} else {
|
605
|
} else {
|