@Override public final int put(final List<T> buffer) throws IOException { return put(buffer, 0, buffer.size()); }
@Override public final boolean put(final T ioTask) throws IOException { if(isStopped()) { throw new EOFException(); } final O output = selectOutput(); final CircularBuffer<T> dstBuff = buffs.get(output); final Lock dstBuffLock = buffLocks.get(output); if(dstBuff != null && dstBuffLock != null && dstBuffLock.tryLock()) { try { return dstBuff.add(ioTask); } finally { dstBuffLock.unlock(); } } else { return false; } }
throws IOException { if(isStopped()) { throw new EOFException(); output = selectOutput(); dstBuff = buffs.get(output); dstBuffLock = buffLocks.get(output); output = selectOutput(); dstBuff = buffs.get(output); dstBuffLock = buffLocks.get(output);