From 3f7f257d289f56f8dda8a10c744d388349aae0ac Mon Sep 17 00:00:00 2001 From: Yura Date: Wed, 9 May 2018 11:56:19 +0300 Subject: [PATCH] init --- .../cluster/rpc/RpcSessionCreationFuture.java | 63 ------------------- application/src/main/proto/cluster.proto | 30 +++++++++ .../rule/engine/action/TbAlarmNode.java | 8 +-- 3 files changed, 34 insertions(+), 67 deletions(-) delete mode 100644 application/src/main/java/org/thingsboard/server/service/cluster/rpc/RpcSessionCreationFuture.java diff --git a/application/src/main/java/org/thingsboard/server/service/cluster/rpc/RpcSessionCreationFuture.java b/application/src/main/java/org/thingsboard/server/service/cluster/rpc/RpcSessionCreationFuture.java deleted file mode 100644 index f98a456c68..0000000000 --- a/application/src/main/java/org/thingsboard/server/service/cluster/rpc/RpcSessionCreationFuture.java +++ /dev/null @@ -1,63 +0,0 @@ -/** - * Copyright © 2016-2018 The Thingsboard Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.thingsboard.server.service.cluster.rpc; - -import io.grpc.stub.StreamObserver; -import org.thingsboard.server.gen.cluster.ClusterAPIProtos; - -import java.util.concurrent.*; - -/** - * @author Andrew Shvayka - */ -public class RpcSessionCreationFuture implements Future> { - - private final BlockingQueue> queue = new ArrayBlockingQueue<>(1); - - public void onMsg(StreamObserver result) throws InterruptedException { - queue.put(result); - } - - @Override - public boolean cancel(boolean mayInterruptIfRunning) { - return false; - } - - @Override - public boolean isCancelled() { - return false; - } - - @Override - public boolean isDone() { - return false; - } - - @Override - public StreamObserver get() throws InterruptedException, ExecutionException { - return this.queue.take(); - } - - @Override - public StreamObserver get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException { - StreamObserver result = this.queue.poll(timeout, unit); - if (result == null) { - throw new TimeoutException(); - } else { - return result; - } - } -} diff --git a/application/src/main/proto/cluster.proto b/application/src/main/proto/cluster.proto index e106d1bf00..ba72097343 100644 --- a/application/src/main/proto/cluster.proto +++ b/application/src/main/proto/cluster.proto @@ -95,3 +95,33 @@ service ClusterRpcService { rpc handlePluginMsgs(stream ToRpcServerMessage) returns (stream ToRpcServerMessage) {} } +message ClusterMessage { + MessageType messageType = 1; + MessageMataInfo messageMetaInfo = 2; + ServerAddress serverAdresss = 3; + bytes payload = 4; +} + +message ServerAddress { + string host = 1; + int32 port = 2; +} + +message MessageMataInfo { + string payloadMetaInfo = 1; + repeated string tags = 2; +} + + +enum MessageType { + + //Cluster control messages + RPC_SESSION_CREATE_REQUEST_MSG = 0; + TO_ALL_NODES_MSG = 1; + RPC_SESSION_TELL_MSG = 2; + RPC_BROADCAST_MSG = 3; + CONNECT_RPC_MESSAGE =4; + + //CLUSTER_DATA_MESSAGE + CLUSTER_NETWORK_SERVER_DATA_MESSAGE = 5; +} diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbAlarmNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbAlarmNode.java index 0549e6af23..a242093efc 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbAlarmNode.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbAlarmNode.java @@ -1,12 +1,12 @@ /** * Copyright © 2016-2018 The Thingsboard Authors - *

+ * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - *

- * http://www.apache.org/licenses/LICENSE-2.0 - *

+ * + * http://www.apache.org/licenses/LICENSE-2.0 + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.