+
+ /**
+ * This Request ID generator starts with 1. Each aysnc message is
+ * associated with an unique Request ID (!= 0).
+ *
+ * @return Request ID
+ */
+ private long getNextRid() {
+ return seq.getAndIncrement();
+ }
+
+ @Override
+ public Status syncSendBarrierMessage(Node node) {
+ if (this.pluginFlowProgrammer != null) {
+ ProtocolService<IPluginInFlowProgrammerService> service =
+ this.pluginFlowProgrammer.get(node.getType());
+ if (service != null) {
+ return service.getService().syncSendBarrierMessage(node);
+ }
+ }
+ return new Status(StatusCode.NOSERVICE, "Plugin unuvailable");
+ }
+
+ @Override
+ public Status asyncSendBarrierMessage(Node node) {
+ if (this.pluginFlowProgrammer != null) {
+ ProtocolService<IPluginInFlowProgrammerService> service =
+ this.pluginFlowProgrammer.get(node.getType());
+ if (service != null) {
+ return service.getService().asyncSendBarrierMessage(node);
+ }
+ }
+ return new Status(StatusCode.NOSERVICE, "Plugin unuvailable");
+ }