docs: public int tryFillAll(RingByteBuffer ring) throws IOException, InterruptedException
      {
          fillLock.lock();
          try
          {
              if (ring.marked() > free())
              {
                  return 0;
              }
              return fill(ring);
          }
          finally
          {
              fillLock.unlock();
          }
      }