/** * @param nodes Nodes. * @param payload Payload. * @param procFromNioThread If {@code true} message is processed from NIO thread. * @return Response future. */ public IgniteInternalFuture sendIoTest(List<ClusterNode> nodes, byte[] payload, boolean procFromNioThread) { long id = ioTestId.getAndIncrement(); IoTestFuture fut = new IoTestFuture(id, nodes.size()); IgniteIoTestMessage msg = new IgniteIoTestMessage(id, true, payload); msg.processFromNioThread(procFromNioThread); ioTestMap().put(id, fut); for (int i = 0; i < nodes.size(); i++) { ClusterNode node = nodes.get(i); try { sendToGridTopic(node, GridTopic.TOPIC_IO_TEST, msg, GridIoPolicy.SYSTEM_POOL); } catch (IgniteCheckedException e) { ioTestMap().remove(msg.id()); return new GridFinishedFuture(e); } } return fut; }
/** * @param node Node. * @param payload Payload. * @param procFromNioThread If {@code true} message is processed from NIO thread. * @return Response future. */ public IgniteInternalFuture<List<IgniteIoTestMessage>> sendIoTest( ClusterNode node, byte[] payload, boolean procFromNioThread ) { long id = ioTestId.getAndIncrement(); IoTestFuture fut = new IoTestFuture(id, 1); IgniteIoTestMessage msg = new IgniteIoTestMessage(id, true, payload); msg.processFromNioThread(procFromNioThread); ioTestMap().put(id, fut); try { sendToGridTopic(node, GridTopic.TOPIC_IO_TEST, msg, GridIoPolicy.SYSTEM_POOL); } catch (IgniteCheckedException e) { ioTestMap().remove(msg.id()); return new GridFinishedFuture(e); } return fut; }
/** * @param nodes Nodes. * @param payload Payload. * @param procFromNioThread If {@code true} message is processed from NIO thread. * @return Response future. */ public IgniteInternalFuture sendIoTest(List<ClusterNode> nodes, byte[] payload, boolean procFromNioThread) { long id = ioTestId.getAndIncrement(); IoTestFuture fut = new IoTestFuture(id, nodes.size()); IgniteIoTestMessage msg = new IgniteIoTestMessage(id, true, payload); msg.processFromNioThread(procFromNioThread); ioTestMap().put(id, fut); for (int i = 0; i < nodes.size(); i++) { ClusterNode node = nodes.get(i); try { sendToGridTopic(node, GridTopic.TOPIC_IO_TEST, msg, GridIoPolicy.SYSTEM_POOL); } catch (IgniteCheckedException e) { ioTestMap().remove(msg.id()); return new GridFinishedFuture(e); } } return fut; }
/** * @param node Node. * @param payload Payload. * @param procFromNioThread If {@code true} message is processed from NIO thread. * @return Response future. */ public IgniteInternalFuture<List<IgniteIoTestMessage>> sendIoTest( ClusterNode node, byte[] payload, boolean procFromNioThread ) { long id = ioTestId.getAndIncrement(); IoTestFuture fut = new IoTestFuture(id, 1); IgniteIoTestMessage msg = new IgniteIoTestMessage(id, true, payload); msg.processFromNioThread(procFromNioThread); ioTestMap().put(id, fut); try { sendToGridTopic(node, GridTopic.TOPIC_IO_TEST, msg, GridIoPolicy.SYSTEM_POOL); } catch (IgniteCheckedException e) { ioTestMap().remove(msg.id()); return new GridFinishedFuture(e); } return fut; }