Home / Function/ ensureWritable() — netty Function Reference

ensureWritable() — netty Function Reference

Architecture documentation for the ensureWritable() function in AbstractByteBuf.java from the netty codebase.

Function java Buffer Telemetry calls 4 called by 2

Entity Profile

Dependency Diagram

graph TD
  e7e2000f_87e7_d583_dbd6_fcb0dd026763["ensureWritable()"]
  bbab270f_457a_3319_83a8_0a0540484666["AbstractByteBuf"]
  e7e2000f_87e7_d583_dbd6_fcb0dd026763 -->|defined in| bbab270f_457a_3319_83a8_0a0540484666
  e9e1f861_5813_ec75_8a61_6b29c497ac9f["ByteBuf()"]
  e9e1f861_5813_ec75_8a61_6b29c497ac9f -->|calls| e7e2000f_87e7_d583_dbd6_fcb0dd026763
  2a6081bb_2c29_bcd3_c45e_4cd9093ee815["writeBytes()"]
  2a6081bb_2c29_bcd3_c45e_4cd9093ee815 -->|calls| e7e2000f_87e7_d583_dbd6_fcb0dd026763
  6d7a760c_9235_3c42_7498_04dce6863295["ensureAccessible()"]
  e7e2000f_87e7_d583_dbd6_fcb0dd026763 -->|calls| 6d7a760c_9235_3c42_7498_04dce6863295
  d5493afe_8963_9c06_feb2_ed0b912eaa52["writableBytes()"]
  e7e2000f_87e7_d583_dbd6_fcb0dd026763 -->|calls| d5493afe_8963_9c06_feb2_ed0b912eaa52
  f4e37074_4ad7_6a4d_b116_3b334abcf18d["maxCapacity()"]
  e7e2000f_87e7_d583_dbd6_fcb0dd026763 -->|calls| f4e37074_4ad7_6a4d_b116_3b334abcf18d
  67993e0c_3b33_e884_495b_6ad7509b65c8["writerIndex()"]
  e7e2000f_87e7_d583_dbd6_fcb0dd026763 -->|calls| 67993e0c_3b33_e884_495b_6ad7509b65c8
  style e7e2000f_87e7_d583_dbd6_fcb0dd026763 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

buffer/src/main/java/io/netty/buffer/AbstractByteBuf.java lines 308–335

    @Override
    public int ensureWritable(int minWritableBytes, boolean force) {
        ensureAccessible();
        checkPositiveOrZero(minWritableBytes, "minWritableBytes");

        if (minWritableBytes <= writableBytes()) {
            return 0;
        }

        final int maxCapacity = maxCapacity();
        final int writerIndex = writerIndex();
        if (minWritableBytes > maxCapacity - writerIndex) {
            if (!force || capacity() == maxCapacity) {
                return 1;
            }

            capacity(maxCapacity);
            return 3;
        }

        int fastWritable = maxFastWritableBytes();
        int newCapacity = fastWritable >= minWritableBytes ? writerIndex + fastWritable
                : alloc().calculateNewCapacity(writerIndex + minWritableBytes, maxCapacity);

        // Adjust to the new capacity.
        capacity(newCapacity);
        return 2;
    }

Domain

Subdomains

Frequently Asked Questions

What does ensureWritable() do?
ensureWritable() is a function in the netty codebase, defined in buffer/src/main/java/io/netty/buffer/AbstractByteBuf.java.
Where is ensureWritable() defined?
ensureWritable() is defined in buffer/src/main/java/io/netty/buffer/AbstractByteBuf.java at line 308.
What does ensureWritable() call?
ensureWritable() calls 4 function(s): ensureAccessible, maxCapacity, writableBytes, writerIndex.
What calls ensureWritable()?
ensureWritable() is called by 2 function(s): ByteBuf, writeBytes.

Analyze Your Own Codebase

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

Try Supermodel Free