/** @param rcvCnt Number of messages received by remote node. */ public void ackReceived(long rcvCnt) { if (log.isDebugEnabled()) log.debug( "Handle acknowledgment [acked=" + acked + ", rcvCnt=" + rcvCnt + ", msgFuts=" + msgFuts.size() + ']'); while (acked < rcvCnt) { GridNioFuture<?> fut = msgFuts.pollFirst(); assert fut != null : "Missed message future [rcvCnt=" + rcvCnt + ", acked=" + acked + ", desc=" + this + ']'; assert fut.isDone() : fut; if (fut.ackClosure() != null) fut.ackClosure().apply(null); acked++; } }