@Override public final int limit() { checkDispose(); return lim; }
@Override public final int position() { checkDispose(); return pos; }
@Override public final HeapBuffer limit(final int newLimit) { checkDispose(); lim = newLimit; if (mark > lim) mark = -1; return this; }
@Override public final int limit() { checkDispose(); return lim; }
@Override public HeapBuffer prepend(final Buffer header) { checkDispose(); return this; }
@Override public HeapBuffer prepend(final Buffer header) { checkDispose(); return this; }
@Override public final int position() { checkDispose(); return pos; }
@Override public HeapBuffer prepend(final Buffer header) { checkDispose(); return this; }
@Override public final int capacity() { checkDispose(); return cap; }
@Override public final HeapBuffer position(final int newPosition) { checkDispose(); pos = newPosition; if (mark > pos) mark = -1; return this; }
@Override public HeapBuffer slice(final int position, final int limit) { checkDispose(); return createHeapBuffer(position, limit - position); }
@Override public HeapBuffer slice(final int position, final int limit) { checkDispose(); return createHeapBuffer(position, limit - position); }
@Override public void trim() { checkDispose(); flip(); }
protected final void prepareDispose() { checkDispose(); if (DEBUG_MODE) { // if debug is on - clear the buffer content // Use static logic class to help JIT optimize the code DebugLogic.doDebug(this); } }
@Override public HeapBuffer slice(final int position, final int limit) { checkDispose(); return createHeapBuffer(position, limit - position); }
@Override public void trim() { checkDispose(); flip(); }
protected final void prepareDispose() { checkDispose(); if (DEBUG_MODE) { // if debug is on - clear the buffer content // Use static logic class to help JIT optimize the code DebugLogic.doDebug(this); } }
@Override public ByteBuffer underlying() { checkDispose(); return toByteBuffer(); }
@Override public HeapBuffer asReadOnlyBuffer() { checkDispose(); onShareHeap(); final HeapBuffer b = new ReadOnlyHeapBuffer(heap, offset, cap); b.pos = pos; b.lim = lim; return b; }
@Override public HeapBuffer duplicate() { checkDispose(); final HeapBuffer duplicate = createHeapBuffer(0, cap); duplicate.position(pos); duplicate.limit(lim); return duplicate; }