/** * {@inheritDoc} */ @Override public HeapBuffer allocate(final int size) { return allocateHeapBuffer(size); }
/** * {@inheritDoc} */ @Override public HeapBuffer allocateAtLeast(final int size) { return allocateHeapBufferAtLeast(size); }
@Override public HeapBuffer allocate(final int size) { final HeapBuffer allocated = mm.createTrimAwareBuffer(pool, rightPos, size); if (byteBufferCacheSize > 0) { allocated.byteBuffer = byteBufferCache[--byteBufferCacheSize]; byteBufferCache[byteBufferCacheSize] = null; } rightPos += size; return allocated; }
protected HeapBuffer allocateHeapBuffer(final int size) { if (size > maxBufferSize) { // Don't use pool return createTrimAwareBuffer(size); } final ThreadLocalPool<HeapBuffer> threadLocalCache = getHeapBufferThreadLocalPool(); if (threadLocalCache != null) { final int remaining = threadLocalCache.remaining(); if (remaining == 0 || remaining < size) { reallocatePoolBuffer(); } return (HeapBuffer) allocateFromPool(threadLocalCache, size); } else { return createTrimAwareBuffer(size); } }
/** * {@inheritDoc} */ @Override public Buffer wrap(final ByteBuffer byteBuffer) { if (byteBuffer.hasArray()) { return wrap(byteBuffer.array(), byteBuffer.arrayOffset() + byteBuffer.position(), byteBuffer.remaining()); } else { return createByteBufferWrapper(byteBuffer); } }
@Override public void customize(TCPNIOTransport transport, FilterChainBuilder filterChainBuilder) { transport.setMemoryManager(new HeapMemoryManager()); }
/** * {@inheritDoc} */ @Override public HeapBuffer wrap(final String s) { return wrap(s, Charset.defaultCharset()); }
/** * {@inheritDoc} */ @Override public HeapBuffer reallocate(final HeapBuffer oldBuffer, final int newSize) { return reallocateHeapBuffer(oldBuffer, newSize); }
private void reallocatePoolBuffer() { final byte[] heap = new byte[maxBufferSize]; ProbeNotifier.notifyBufferAllocated(monitoringConfig, maxBufferSize); final HeapBufferThreadLocalPool threadLocalCache = getHeapBufferThreadLocalPool(); if (threadLocalCache != null) { threadLocalCache.reset(heap, 0, maxBufferSize); } }
@SuppressWarnings("unchecked") private static HeapBufferThreadLocalPool getHeapBufferThreadLocalPool() { final ThreadLocalPool pool = getThreadLocalPool(); return ((pool instanceof HeapBufferThreadLocalPool) ? (HeapBufferThreadLocalPool) pool : null); }
protected HeapBuffer allocateHeapBuffer(final int size) { if (size > maxBufferSize) { // Don't use pool return createTrimAwareBuffer(size); } final ThreadLocalPool<HeapBuffer> threadLocalCache = getHeapBufferThreadLocalPool(); if (threadLocalCache != null) { final int remaining = threadLocalCache.remaining(); if (remaining == 0 || remaining < size) { reallocatePoolBuffer(); } return (HeapBuffer) allocateFromPool(threadLocalCache, size); } else { return createTrimAwareBuffer(size); } }
/** * {@inheritDoc} */ @Override public Buffer wrap(final ByteBuffer byteBuffer) { if (byteBuffer.hasArray()) { return wrap(byteBuffer.array(), byteBuffer.arrayOffset() + byteBuffer.position(), byteBuffer.remaining()); } else { return createByteBufferWrapper(byteBuffer); } }
@SuppressWarnings("unchecked") private static MemoryManager initMemoryManagerFallback() { final String className = System.getProperty(DMM_PROP_NAME); final MemoryManager mm = newInstance(className); return (mm != null) ? mm : new HeapMemoryManager(); }
/** * {@inheritDoc} */ @Override public HeapBuffer wrap(final String s, final Charset charset) { return wrap(s.getBytes(charset)); }
/** * {@inheritDoc} */ @Override public HeapBuffer reallocate(final HeapBuffer oldBuffer, final int newSize) { return reallocateHeapBuffer(oldBuffer, newSize); }
private void reallocatePoolBuffer() { final byte[] heap = new byte[maxBufferSize]; ProbeNotifier.notifyBufferAllocated(monitoringConfig, maxBufferSize); final HeapBufferThreadLocalPool threadLocalCache = getHeapBufferThreadLocalPool(); if (threadLocalCache != null) { threadLocalCache.reset(heap, 0, maxBufferSize); } }
@SuppressWarnings("unchecked") private static HeapBufferThreadLocalPool getHeapBufferThreadLocalPool() { final ThreadLocalPool pool = getThreadLocalPool(); return ((pool instanceof HeapBufferThreadLocalPool) ? (HeapBufferThreadLocalPool) pool : null); }
protected HeapBuffer allocateHeapBuffer(final int size) { if (size > maxBufferSize) { // Don't use pool return createTrimAwareBuffer(size); } final ThreadLocalPool<HeapBuffer> threadLocalCache = getHeapBufferThreadLocalPool(); if (threadLocalCache != null) { final int remaining = threadLocalCache.remaining(); if (remaining == 0 || remaining < size) { reallocatePoolBuffer(); } return (HeapBuffer) allocateFromPool(threadLocalCache, size); } else { return createTrimAwareBuffer(size); } }
/** * {@inheritDoc} */ @Override public Buffer wrap(final ByteBuffer byteBuffer) { if (byteBuffer.hasArray()) { return wrap(byteBuffer.array(), byteBuffer.arrayOffset() + byteBuffer.position(), byteBuffer.remaining()); } else { return createByteBufferWrapper(byteBuffer); } }
@SuppressWarnings("unchecked") private static MemoryManager initMemoryManagerFallback() { final String className = System.getProperty(DMM_PROP_NAME); final MemoryManager mm = newInstance(className); return (mm != null) ? mm : new HeapMemoryManager(); }