Home / Class/ ThreadLocalUnsafeDirectByteBuf Class — netty Architecture

ThreadLocalUnsafeDirectByteBuf Class — netty Architecture

Architecture documentation for the ThreadLocalUnsafeDirectByteBuf class in ByteBufUtil.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  2c26bdf2_7837_18b1_1e0e_046ef3c5ed1b["ThreadLocalUnsafeDirectByteBuf"]
  373e0ae1_9ed6_8f3b_aa9e_665e0d7416be["ByteBufUtil.java"]
  2c26bdf2_7837_18b1_1e0e_046ef3c5ed1b -->|defined in| 373e0ae1_9ed6_8f3b_aa9e_665e0d7416be
  418d3e87_c8ec_db00_e029_b65f53d13ce5["ThreadLocalUnsafeDirectByteBuf()"]
  2c26bdf2_7837_18b1_1e0e_046ef3c5ed1b -->|method| 418d3e87_c8ec_db00_e029_b65f53d13ce5
  03a483f8_d0b7_9d69_421a_195837dc26a3["deallocate()"]
  2c26bdf2_7837_18b1_1e0e_046ef3c5ed1b -->|method| 03a483f8_d0b7_9d69_421a_195837dc26a3

Relationship Graph

Source Code

buffer/src/main/java/io/netty/buffer/ByteBufUtil.java lines 1702–1734

    static final class ThreadLocalUnsafeDirectByteBuf extends UnpooledUnsafeDirectByteBuf {

        private static final Recycler<ThreadLocalUnsafeDirectByteBuf> RECYCLER =
                new Recycler<ThreadLocalUnsafeDirectByteBuf>() {
                    @Override
                    protected ThreadLocalUnsafeDirectByteBuf newObject(Handle<ThreadLocalUnsafeDirectByteBuf> handle) {
                        return new ThreadLocalUnsafeDirectByteBuf(handle);
                    }
                };

        static ThreadLocalUnsafeDirectByteBuf newInstance() {
            ThreadLocalUnsafeDirectByteBuf buf = RECYCLER.get();
            buf.resetRefCnt();
            return buf;
        }

        private final EnhancedHandle<ThreadLocalUnsafeDirectByteBuf> handle;

        private ThreadLocalUnsafeDirectByteBuf(Handle<ThreadLocalUnsafeDirectByteBuf> handle) {
            super(UnpooledByteBufAllocator.DEFAULT, 256, Integer.MAX_VALUE);
            this.handle = (EnhancedHandle<ThreadLocalUnsafeDirectByteBuf>) handle;
        }

        @Override
        protected void deallocate() {
            if (capacity() > THREAD_LOCAL_BUFFER_SIZE) {
                super.deallocate();
            } else {
                clear();
                handle.unguardedRecycle(this);
            }
        }
    }

Frequently Asked Questions

What is the ThreadLocalUnsafeDirectByteBuf class?
ThreadLocalUnsafeDirectByteBuf is a class in the netty codebase, defined in buffer/src/main/java/io/netty/buffer/ByteBufUtil.java.
Where is ThreadLocalUnsafeDirectByteBuf defined?
ThreadLocalUnsafeDirectByteBuf is defined in buffer/src/main/java/io/netty/buffer/ByteBufUtil.java at line 1702.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free