Home / Class/ AbstractReferenceCountedByteBufTest Class — netty Architecture

AbstractReferenceCountedByteBufTest Class — netty Architecture

Architecture documentation for the AbstractReferenceCountedByteBufTest class in AbstractReferenceCountedByteBufTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  51222db7_9ab7_4d1e_8f88_ed2f59e6b1ec["AbstractReferenceCountedByteBufTest"]
  8ec7fc2c_149b_6696_90b0_aad45e8db21f["AbstractReferenceCountedByteBufTest.java"]
  51222db7_9ab7_4d1e_8f88_ed2f59e6b1ec -->|defined in| 8ec7fc2c_149b_6696_90b0_aad45e8db21f
  8f61c236_4857_e52a_6e93_167c5af893d4["testRetainOverflow()"]
  51222db7_9ab7_4d1e_8f88_ed2f59e6b1ec -->|method| 8f61c236_4857_e52a_6e93_167c5af893d4
  83e235d4_bf2f_0b79_8324_c19b917c0bc8["testRetainOverflow2()"]
  51222db7_9ab7_4d1e_8f88_ed2f59e6b1ec -->|method| 83e235d4_bf2f_0b79_8324_c19b917c0bc8
  36bd7e67_1404_50d8_d08b_2e09dd541515["testReleaseOverflow()"]
  51222db7_9ab7_4d1e_8f88_ed2f59e6b1ec -->|method| 36bd7e67_1404_50d8_d08b_2e09dd541515
  ab690768_c698_092f_41a2_cb257ca67512["testReleaseErrorMessage()"]
  51222db7_9ab7_4d1e_8f88_ed2f59e6b1ec -->|method| ab690768_c698_092f_41a2_cb257ca67512
  e26c67fe_d797_267c_c87c_20bfdd5d2c35["testRetainResurrect()"]
  51222db7_9ab7_4d1e_8f88_ed2f59e6b1ec -->|method| e26c67fe_d797_267c_c87c_20bfdd5d2c35
  9d222763_be49_a180_3cc4_7c1ea21d82de["testRetainResurrect2()"]
  51222db7_9ab7_4d1e_8f88_ed2f59e6b1ec -->|method| 9d222763_be49_a180_3cc4_7c1ea21d82de
  a3da2439_0a16_1aba_a8b2_4cdee5b7c453["AbstractReferenceCountedByteBuf()"]
  51222db7_9ab7_4d1e_8f88_ed2f59e6b1ec -->|method| a3da2439_0a16_1aba_a8b2_4cdee5b7c453

Relationship Graph

Source Code

buffer/src/test/java/io/netty/buffer/AbstractReferenceCountedByteBufTest.java lines 36–358

public class AbstractReferenceCountedByteBufTest {

    @Test
    public void testRetainOverflow() {
        final AbstractReferenceCountedByteBuf referenceCounted = newReferenceCounted();
        referenceCounted.setRefCnt(Integer.MAX_VALUE);
        assertEquals(Integer.MAX_VALUE, referenceCounted.refCnt());
        assertThrows(IllegalReferenceCountException.class, new Executable() {
            @Override
            public void execute()  {
                referenceCounted.retain();
            }
        });
    }

    @Test
    public void testRetainOverflow2() {
        final AbstractReferenceCountedByteBuf referenceCounted = newReferenceCounted();
        assertEquals(1, referenceCounted.refCnt());
        assertThrows(IllegalReferenceCountException.class, new Executable() {
            @Override
            public void execute() {
                referenceCounted.retain(Integer.MAX_VALUE);
            }
        });
    }

    @Test
    public void testReleaseOverflow() {
        final AbstractReferenceCountedByteBuf referenceCounted = newReferenceCounted();
        referenceCounted.setRefCnt(0);
        assertEquals(0, referenceCounted.refCnt());
        assertThrows(IllegalReferenceCountException.class, new Executable() {
            @Override
            public void execute() {
                referenceCounted.release(Integer.MAX_VALUE);
            }
        });
    }

    @Test
    public void testReleaseErrorMessage() {
        AbstractReferenceCountedByteBuf referenceCounted = newReferenceCounted();
        assertTrue(referenceCounted.release());
        try {
            referenceCounted.release(1);
            fail("IllegalReferenceCountException didn't occur");
        } catch (IllegalReferenceCountException e) {
            assertEquals("refCnt: 0, decrement: 1", e.getMessage());
        }
    }

    @Test
    public void testRetainResurrect() {
        final AbstractReferenceCountedByteBuf referenceCounted = newReferenceCounted();
        assertTrue(referenceCounted.release());
        assertEquals(0, referenceCounted.refCnt());
        assertThrows(IllegalReferenceCountException.class, new Executable() {
            @Override
            public void execute() {
                referenceCounted.retain();
            }
        });
    }

    @Test
    public void testRetainResurrect2() {
        final AbstractReferenceCountedByteBuf referenceCounted = newReferenceCounted();
        assertTrue(referenceCounted.release());
        assertEquals(0, referenceCounted.refCnt());
        assertThrows(IllegalReferenceCountException.class, new Executable() {
            @Override
            public void execute() {
                referenceCounted.retain(2);
            }
        });
    }

    private static AbstractReferenceCountedByteBuf newReferenceCounted() {
        return new AbstractReferenceCountedByteBuf(Integer.MAX_VALUE) {

Frequently Asked Questions

What is the AbstractReferenceCountedByteBufTest class?
AbstractReferenceCountedByteBufTest is a class in the netty codebase, defined in buffer/src/test/java/io/netty/buffer/AbstractReferenceCountedByteBufTest.java.
Where is AbstractReferenceCountedByteBufTest defined?
AbstractReferenceCountedByteBufTest is defined in buffer/src/test/java/io/netty/buffer/AbstractReferenceCountedByteBufTest.java at line 36.

Analyze Your Own Codebase

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

Try Supermodel Free