|
|
@ -25,8 +25,8 @@ import lombok.extern.slf4j.Slf4j; |
|
|
import org.apache.commons.collections.CollectionUtils; |
|
|
import org.apache.commons.collections.CollectionUtils; |
|
|
import org.thingsboard.rule.engine.api.RpcError; |
|
|
import org.thingsboard.rule.engine.api.RpcError; |
|
|
import org.thingsboard.rule.engine.api.msg.DeviceAttributesEventNotificationMsg; |
|
|
import org.thingsboard.rule.engine.api.msg.DeviceAttributesEventNotificationMsg; |
|
|
import org.thingsboard.rule.engine.api.msg.DeviceEdgeUpdateMsg; |
|
|
|
|
|
import org.thingsboard.rule.engine.api.msg.DeviceCredentialsUpdateNotificationMsg; |
|
|
import org.thingsboard.rule.engine.api.msg.DeviceCredentialsUpdateNotificationMsg; |
|
|
|
|
|
import org.thingsboard.rule.engine.api.msg.DeviceEdgeUpdateMsg; |
|
|
import org.thingsboard.rule.engine.api.msg.DeviceNameOrTypeUpdateMsg; |
|
|
import org.thingsboard.rule.engine.api.msg.DeviceNameOrTypeUpdateMsg; |
|
|
import org.thingsboard.server.actors.ActorSystemContext; |
|
|
import org.thingsboard.server.actors.ActorSystemContext; |
|
|
import org.thingsboard.server.actors.TbActorCtx; |
|
|
import org.thingsboard.server.actors.TbActorCtx; |
|
|
@ -73,7 +73,6 @@ import org.thingsboard.server.gen.transport.TransportProtos.ToDeviceRpcResponseM |
|
|
import org.thingsboard.server.gen.transport.TransportProtos.ToServerRpcResponseMsg; |
|
|
import org.thingsboard.server.gen.transport.TransportProtos.ToServerRpcResponseMsg; |
|
|
import org.thingsboard.server.gen.transport.TransportProtos.ToTransportMsg; |
|
|
import org.thingsboard.server.gen.transport.TransportProtos.ToTransportMsg; |
|
|
import org.thingsboard.server.gen.transport.TransportProtos.TransportToDeviceActorMsg; |
|
|
import org.thingsboard.server.gen.transport.TransportProtos.TransportToDeviceActorMsg; |
|
|
import org.thingsboard.server.gen.transport.TransportProtos.ToTransportUpdateCredentialsProto; |
|
|
|
|
|
import org.thingsboard.server.gen.transport.TransportProtos.TsKvProto; |
|
|
import org.thingsboard.server.gen.transport.TransportProtos.TsKvProto; |
|
|
import org.thingsboard.server.service.rpc.FromDeviceRpcResponse; |
|
|
import org.thingsboard.server.service.rpc.FromDeviceRpcResponse; |
|
|
import org.thingsboard.server.service.rpc.FromDeviceRpcResponseActorMsg; |
|
|
import org.thingsboard.server.service.rpc.FromDeviceRpcResponseActorMsg; |
|
|
@ -164,8 +163,14 @@ class DeviceActorMessageProcessor extends AbstractContextAwareMsgProcessor { |
|
|
void processRpcRequest(TbActorCtx context, ToDeviceRpcRequestActorMsg msg) { |
|
|
void processRpcRequest(TbActorCtx context, ToDeviceRpcRequestActorMsg msg) { |
|
|
ToDeviceRpcRequest request = msg.getMsg(); |
|
|
ToDeviceRpcRequest request = msg.getMsg(); |
|
|
ToDeviceRpcRequestBody body = request.getBody(); |
|
|
ToDeviceRpcRequestBody body = request.getBody(); |
|
|
ToDeviceRpcRequestMsg rpcRequest = ToDeviceRpcRequestMsg.newBuilder().setRequestId( |
|
|
ToDeviceRpcRequestMsg rpcRequest = ToDeviceRpcRequestMsg.newBuilder() |
|
|
rpcSeq++).setMethodName(body.getMethod()).setParams(body.getParams()).build(); |
|
|
.setRequestId(rpcSeq++) |
|
|
|
|
|
.setMethodName(body.getMethod()) |
|
|
|
|
|
.setParams(body.getParams()) |
|
|
|
|
|
.setExpirationTime(request.getExpirationTime()) |
|
|
|
|
|
.setRequestIdMSB(request.getId().getMostSignificantBits()) |
|
|
|
|
|
.setRequestIdLSB(request.getId().getLeastSignificantBits()) |
|
|
|
|
|
.build(); |
|
|
|
|
|
|
|
|
long timeout = request.getExpirationTime() - System.currentTimeMillis(); |
|
|
long timeout = request.getExpirationTime() - System.currentTimeMillis(); |
|
|
if (timeout <= 0) { |
|
|
if (timeout <= 0) { |
|
|
@ -258,8 +263,14 @@ class DeviceActorMessageProcessor extends AbstractContextAwareMsgProcessor { |
|
|
sentOneWayIds.add(entry.getKey()); |
|
|
sentOneWayIds.add(entry.getKey()); |
|
|
systemContext.getTbCoreDeviceRpcService().processRpcResponseFromDeviceActor(new FromDeviceRpcResponse(request.getId(), null, null)); |
|
|
systemContext.getTbCoreDeviceRpcService().processRpcResponseFromDeviceActor(new FromDeviceRpcResponse(request.getId(), null, null)); |
|
|
} |
|
|
} |
|
|
ToDeviceRpcRequestMsg rpcRequest = ToDeviceRpcRequestMsg.newBuilder().setRequestId( |
|
|
ToDeviceRpcRequestMsg rpcRequest = ToDeviceRpcRequestMsg.newBuilder() |
|
|
entry.getKey()).setMethodName(body.getMethod()).setParams(body.getParams()).build(); |
|
|
.setRequestId(entry.getKey()) |
|
|
|
|
|
.setMethodName(body.getMethod()) |
|
|
|
|
|
.setParams(body.getParams()) |
|
|
|
|
|
.setExpirationTime(request.getExpirationTime()) |
|
|
|
|
|
.setRequestIdMSB(request.getId().getMostSignificantBits()) |
|
|
|
|
|
.setRequestIdLSB(request.getId().getLeastSignificantBits()) |
|
|
|
|
|
.build(); |
|
|
sendToTransport(rpcRequest, sessionId, nodeId); |
|
|
sendToTransport(rpcRequest, sessionId, nodeId); |
|
|
}; |
|
|
}; |
|
|
} |
|
|
} |
|
|
|