Search in sources :

Example 1 with RpcMsg

use of org.thingsboard.server.extensions.api.plugins.rpc.RpcMsg in project thingsboard by thingsboard.

the class TelemetryRpcMsgHandler method onSessionClose.

public void onSessionClose(PluginContext ctx, ServerAddress address, String vSessionId) {
    SessionCloseProto proto = SessionCloseProto.newBuilder().setSessionId(vSessionId).build();
    ctx.sendPluginRpcMsg(new RpcMsg(address, SESSION_CLOSE_CLAZZ, proto.toByteArray()));
}
Also used : RpcMsg(org.thingsboard.server.extensions.api.plugins.rpc.RpcMsg)

Example 2 with RpcMsg

use of org.thingsboard.server.extensions.api.plugins.rpc.RpcMsg in project thingsboard by thingsboard.

the class TelemetryRpcMsgHandler method onNewSubscription.

public void onNewSubscription(PluginContext ctx, ServerAddress address, String sessionId, Subscription cmd) {
    SubscriptionProto.Builder builder = SubscriptionProto.newBuilder();
    builder.setSessionId(sessionId);
    builder.setSubscriptionId(cmd.getSubscriptionId());
    builder.setEntityType(cmd.getEntityId().getEntityType().name());
    builder.setEntityId(cmd.getEntityId().getId().toString());
    builder.setType(cmd.getType().name());
    builder.setAllKeys(cmd.isAllKeys());
    builder.setScope(cmd.getScope());
    cmd.getKeyStates().entrySet().forEach(e -> builder.addKeyStates(SubscriptionKetStateProto.newBuilder().setKey(e.getKey()).setTs(e.getValue()).build()));
    ctx.sendPluginRpcMsg(new RpcMsg(address, SUBSCRIPTION_CLAZZ, builder.build().toByteArray()));
}
Also used : RpcMsg(org.thingsboard.server.extensions.api.plugins.rpc.RpcMsg)

Example 3 with RpcMsg

use of org.thingsboard.server.extensions.api.plugins.rpc.RpcMsg in project thingsboard by thingsboard.

the class TelemetryRpcMsgHandler method onSubscriptionUpdate.

public void onSubscriptionUpdate(PluginContext ctx, ServerAddress address, String sessionId, SubscriptionUpdate update) {
    SubscriptionUpdateProto proto = getSubscriptionUpdateProto(sessionId, update);
    ctx.sendPluginRpcMsg(new RpcMsg(address, SUBSCRIPTION_UPDATE_CLAZZ, proto.toByteArray()));
}
Also used : RpcMsg(org.thingsboard.server.extensions.api.plugins.rpc.RpcMsg)

Example 4 with RpcMsg

use of org.thingsboard.server.extensions.api.plugins.rpc.RpcMsg in project thingsboard by thingsboard.

the class TelemetryRpcMsgHandler method onSubscriptionClose.

public void onSubscriptionClose(PluginContext ctx, ServerAddress address, String vSessionId, int subscriptionId) {
    SubscriptionCloseProto proto = SubscriptionCloseProto.newBuilder().setSessionId(vSessionId).setSubscriptionId(subscriptionId).build();
    ctx.sendPluginRpcMsg(new RpcMsg(address, SUBSCRIPTION_CLOSE_CLAZZ, proto.toByteArray()));
}
Also used : RpcMsg(org.thingsboard.server.extensions.api.plugins.rpc.RpcMsg)

Example 5 with RpcMsg

use of org.thingsboard.server.extensions.api.plugins.rpc.RpcMsg in project thingsboard by thingsboard.

the class BasicRpcSessionListener method convert.

private static PluginRpcMsg convert(ServerAddress serverAddress, ClusterAPIProtos.ToPluginRpcMessage msg) {
    ClusterAPIProtos.PluginAddress address = msg.getAddress();
    TenantId tenantId = new TenantId(toUUID(address.getTenantId()));
    PluginId pluginId = new PluginId(toUUID(address.getPluginId()));
    RpcMsg rpcMsg = new RpcMsg(serverAddress, msg.getClazz(), msg.getData().toByteArray());
    return new PluginRpcMsg(tenantId, pluginId, rpcMsg);
}
Also used : TenantId(org.thingsboard.server.common.data.id.TenantId) ClusterAPIProtos(org.thingsboard.server.gen.cluster.ClusterAPIProtos) PluginRpcMsg(org.thingsboard.server.extensions.api.plugins.rpc.PluginRpcMsg) PluginRpcMsg(org.thingsboard.server.extensions.api.plugins.rpc.PluginRpcMsg) RpcMsg(org.thingsboard.server.extensions.api.plugins.rpc.RpcMsg) PluginId(org.thingsboard.server.common.data.id.PluginId)

Aggregations

RpcMsg (org.thingsboard.server.extensions.api.plugins.rpc.RpcMsg)5 PluginId (org.thingsboard.server.common.data.id.PluginId)1 TenantId (org.thingsboard.server.common.data.id.TenantId)1 PluginRpcMsg (org.thingsboard.server.extensions.api.plugins.rpc.PluginRpcMsg)1 ClusterAPIProtos (org.thingsboard.server.gen.cluster.ClusterAPIProtos)1