/** * Adds write request to the queue. * * @param buf Buffer to write. * @param ackC Closure invoked when message ACK is received. * @return Write future. */ GridNioFuture<?> deferredWrite(ByteBuffer buf, IgniteInClosure<IgniteException> ackC) { assert isHeldByCurrentThread(); GridNioEmbeddedFuture<Object> fut = new GridNioEmbeddedFuture<>(); ByteBuffer cp = copy(buf); deferredWriteQueue.offer(new WriteRequest(fut, cp, ackC)); return fut; }
final GridNioEmbeddedFuture<Integer> embFut = new GridNioEmbeddedFuture<>();
/** * Adds write request to the queue. * * @param buf Buffer to write. * @param ackC Closure invoked when message ACK is received. * @return Write future. */ GridNioFuture<?> deferredWrite(ByteBuffer buf, IgniteInClosure<IgniteException> ackC) { assert isHeldByCurrentThread(); GridNioEmbeddedFuture<Object> fut = new GridNioEmbeddedFuture<>(); ByteBuffer cp = copy(buf); deferredWriteQueue.offer(new WriteRequest(fut, cp, ackC)); return fut; }