示例#1
0
  public void read(byte[] buffer, int length) {
    if (resumeRead()) {
      Buff buff = Buff.getOrCreate();
      buff.position(Buff.getLargestUnsplitable());
      byte[] temp = _randomSplitter.read(buffer, 0, length, buff.remaining());
      buff.putImmutably(temp, 0, temp.length);
      buff.limit(buff.position() + temp.length);

      if (Debug.ENABLED && buff.remaining() == 0) buff.lock(buff.limit());

      read(buff);
      buff.recycle();

      suspendRead();
    }
  }