/** {@inheritDoc} */ @Override public void processInStreamOutStream(int type, BinaryRawReaderEx reader, BinaryRawWriterEx writer) throws IgniteCheckedException { switch (type) { case OP_REMOTE_LISTEN:{ writer.writeUuid(startRemoteListen(reader, messaging)); break; } default: super.processInStreamOutStream(type, reader, writer); } }
/** {@inheritDoc} */ @Override public void writeNodes(BinaryRawWriterEx writer, Collection<ClusterNode> nodes) { if (nodes == null) { writer.writeInt(-1); return; } writer.writeInt(nodes.size()); for (ClusterNode n : nodes) { addNode(n); writer.writeUuid(n.id()); } }
/** * Writes service context. * * @param ctx Context. * @param writer Writer. */ private void writeServiceContext(ServiceContext ctx, BinaryRawWriterEx writer) { writer.writeString(ctx.name()); writer.writeUuid(ctx.executionId()); writer.writeBoolean(ctx.isCancelled()); writer.writeString(ctx.cacheName()); writer.writeObject(ctx.affinityKey()); }
writer.writeLong(job.pointer()); writer.writeUuid(res.getNode().id()); writer.writeBoolean(res.isCancelled());
/** {@inheritDoc} */ @Override public void removeNode(UUID nodeId) { if ((overrideFlags & FLAG_REMOVE_NODE) == 0) { assert baseFunc != null; baseFunc.removeNode(nodeId); return; } assert ctx != null; assert ptr != 0; try (PlatformMemory mem = ctx.memory().allocate()) { PlatformOutputStream out = mem.output(); BinaryRawWriterEx writer = ctx.writer(out); writer.writeLong(ptr); writer.writeUuid(nodeId); out.synchronize(); ctx.gateway().affinityFunctionRemoveNode(mem.pointer()); } }
@Override public void write(BinaryRawWriterEx writer, ServiceDescriptor d) { writer.writeString(d.name()); writer.writeString(d.cacheName()); writer.writeInt(d.maxPerNodeCount()); writer.writeInt(d.totalCount()); writer.writeUuid(d.originNodeId()); writer.writeObject(d.affinityKey()); // Write platform. There are only 2 platforms now. byte platform = d.serviceClass().equals(PlatformDotNetServiceImpl.class) ? PLATFORM_DOTNET : PLATFORM_JAVA; writer.writeByte(platform); Map<UUID, Integer> top = d.topologySnapshot(); PlatformUtils.writeMap(writer, top, new PlatformWriterBiClosure<UUID, Integer>() { @Override public void write(BinaryRawWriterEx writer, UUID key, Integer val) { writer.writeUuid(key); writer.writeInt(val); } }); } });
/** * Apply impl. * @param uuid Node if. * @param evt Event. * @return Result. */ private boolean apply0(final UUID uuid, final Event evt) { if (!ctx.isEventTypeSupported(evt.type())) return false; if (types != null) { boolean match = false; for (int type : types) { if (type == evt.type()) { match = true; break; } } if (!match) return false; } try (PlatformMemory mem = ctx.memory().allocate()) { PlatformOutputStream out = mem.output(); BinaryRawWriterEx writer = ctx.writer(out); ctx.writeEvent(writer, evt); writer.writeUuid(uuid); out.synchronize(); int res = ctx.gateway().eventFilterApply(hnd, mem.pointer()); return res != 0; } }
/** {@inheritDoc} */ @Override public void addNode(ClusterNode node) { if (node == null || sentNodes.contains(node.id())) return; // Send node info to the native platform try (PlatformMemory mem0 = mem.allocate()) { PlatformOutputStream out = mem0.output(); BinaryRawWriterEx w = writer(out); w.writeUuid(node.id()); PlatformUtils.writeNodeAttributes(w, node.attributes()); w.writeCollection(node.addresses()); w.writeCollection(node.hostNames()); w.writeLong(node.order()); w.writeBoolean(node.isLocal()); w.writeBoolean(node.isDaemon()); w.writeBoolean(node.isClient()); w.writeObjectDetached(node.consistentId()); writeClusterMetrics(w, node.metrics()); out.synchronize(); gateway().nodeInfo(mem0.pointer()); } sentNodes.add(node.id()); }
readEventTypes(reader)); writer.writeUuid(listenId);
writer.writeBoolean(event0.hasOldValue()); writer.writeBoolean(event0.hasNewValue()); writer.writeUuid(event0.subjectId()); writer.writeString(event0.closureClassName()); writer.writeString(event0.taskName()); writer.writeString(event0.className()); writer.writeString(event0.clause()); writer.writeUuid(event0.subjectId()); writer.writeString(event0.taskName()); writer.writeString(event0.className()); writer.writeString(event0.clause()); writer.writeUuid(event0.subjectId()); writer.writeString(event0.taskName()); writer.writeObject(event0.key()); writer.writeObject(event0.jobId()); writeNode(writer, event0.taskNode()); writer.writeUuid(event0.taskSubjectId()); writer.writeObject(event0.taskSessionId()); writer.writeBoolean(event0.internal()); writer.writeUuid(event0.subjectId());
/** {@inheritDoc} */ @SuppressWarnings({"IfMayBeConditional", "ConstantConditions", "unchecked"}) @Override public void processInStreamOutStream(int type, BinaryRawReaderEx reader, BinaryRawWriterEx writer) throws IgniteCheckedException { switch (type) { case OP_REMOTE_LISTEN:{ writer.writeUuid(startRemoteListen(reader, messaging)); break; } default: super.processInStreamOutStream(type, reader, writer); } }
/** {@inheritDoc} */ @Override public void writeNodes(BinaryRawWriterEx writer, Collection<ClusterNode> nodes) { if (nodes == null) { writer.writeInt(-1); return; } writer.writeInt(nodes.size()); for (ClusterNode n : nodes) { addNode(n); writer.writeUuid(n.id()); } }
/** * Writes service context. * * @param ctx Context. * @param writer Writer. */ private void writeServiceContext(ServiceContext ctx, BinaryRawWriterEx writer) { writer.writeString(ctx.name()); writer.writeUuid(ctx.executionId()); writer.writeBoolean(ctx.isCancelled()); writer.writeString(ctx.cacheName()); writer.writeObject(ctx.affinityKey()); }
/** {@inheritDoc} */ @Override public void removeNode(UUID nodeId) { if ((overrideFlags & FLAG_REMOVE_NODE) == 0) { assert baseFunc != null; baseFunc.removeNode(nodeId); return; } assert ctx != null; assert ptr != 0; try (PlatformMemory mem = ctx.memory().allocate()) { PlatformOutputStream out = mem.output(); BinaryRawWriterEx writer = ctx.writer(out); writer.writeLong(ptr); writer.writeUuid(nodeId); out.synchronize(); ctx.gateway().affinityFunctionRemoveNode(mem.pointer()); } }
@Override public void write(BinaryRawWriterEx writer, ServiceDescriptor d) { writer.writeString(d.name()); writer.writeString(d.cacheName()); writer.writeInt(d.maxPerNodeCount()); writer.writeInt(d.totalCount()); writer.writeUuid(d.originNodeId()); writer.writeObject(d.affinityKey()); // Write platform. There are only 2 platforms now. byte platform = d.serviceClass().equals(PlatformDotNetServiceImpl.class) ? PLATFORM_DOTNET : PLATFORM_JAVA; writer.writeByte(platform); Map<UUID, Integer> top = d.topologySnapshot(); PlatformUtils.writeMap(writer, top, new PlatformWriterBiClosure<UUID, Integer>() { @Override public void write(BinaryRawWriterEx writer, UUID key, Integer val) { writer.writeUuid(key); writer.writeInt(val); } }); } });