SimpleLeakAwareByteBufTest Class — netty Architecture
Architecture documentation for the SimpleLeakAwareByteBufTest class in SimpleLeakAwareByteBufTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD ee8c6871_9430_e954_40e6_60ccad1666c5["SimpleLeakAwareByteBufTest"] 7f31b493_5025_c5dc_f92b_7aecc2b1d308["SimpleLeakAwareByteBufTest.java"] ee8c6871_9430_e954_40e6_60ccad1666c5 -->|defined in| 7f31b493_5025_c5dc_f92b_7aecc2b1d308 e682a7eb_5913_31cf_2712_efe410719bc9["ByteBuf()"] ee8c6871_9430_e954_40e6_60ccad1666c5 -->|method| e682a7eb_5913_31cf_2712_efe410719bc9 05dbbc53_d3bf_7431_b4fe_968b5c75edf0["SimpleLeakAwareByteBuf()"] ee8c6871_9430_e954_40e6_60ccad1666c5 -->|method| 05dbbc53_d3bf_7431_b4fe_968b5c75edf0 a45f32ab_42a2_e3f9_d92b_6476fcc0828c["init()"] ee8c6871_9430_e954_40e6_60ccad1666c5 -->|method| a45f32ab_42a2_e3f9_d92b_6476fcc0828c e3aaee59_c956_8250_723a_994a9bc9e279["dispose()"] ee8c6871_9430_e954_40e6_60ccad1666c5 -->|method| e3aaee59_c956_8250_723a_994a9bc9e279 63ee04f2_41b6_65b4_3bd9_c0bee56d59ae["leakClass()"] ee8c6871_9430_e954_40e6_60ccad1666c5 -->|method| 63ee04f2_41b6_65b4_3bd9_c0bee56d59ae c8839db4_b0c3_6d01_1fc4_451b13a6c481["testWrapSlice()"] ee8c6871_9430_e954_40e6_60ccad1666c5 -->|method| c8839db4_b0c3_6d01_1fc4_451b13a6c481 e8e72f3a_7025_5ca8_b9af_aee4f49d66a8["testWrapSlice2()"] ee8c6871_9430_e954_40e6_60ccad1666c5 -->|method| e8e72f3a_7025_5ca8_b9af_aee4f49d66a8 756c3140_60c0_edd9_e358_4f29217972b8["testWrapReadSlice()"] ee8c6871_9430_e954_40e6_60ccad1666c5 -->|method| 756c3140_60c0_edd9_e358_4f29217972b8 13a38a28_8223_044d_9695_0190606dbefd["testWrapRetainedSlice()"] ee8c6871_9430_e954_40e6_60ccad1666c5 -->|method| 13a38a28_8223_044d_9695_0190606dbefd f9548f79_2abc_4c24_2ca1_dbfa3c9625a0["testWrapRetainedSlice2()"] ee8c6871_9430_e954_40e6_60ccad1666c5 -->|method| f9548f79_2abc_4c24_2ca1_dbfa3c9625a0 8f313d6e_2cef_d09f_9a5c_af1df52be5dc["testWrapReadRetainedSlice()"] ee8c6871_9430_e954_40e6_60ccad1666c5 -->|method| 8f313d6e_2cef_d09f_9a5c_af1df52be5dc 5642693f_ec79_6768_2982_23d799674980["testWrapDuplicate()"] ee8c6871_9430_e954_40e6_60ccad1666c5 -->|method| 5642693f_ec79_6768_2982_23d799674980 76caa602_d73a_13c5_8f13_3d4e25e9fe25["testWrapRetainedDuplicate()"] ee8c6871_9430_e954_40e6_60ccad1666c5 -->|method| 76caa602_d73a_13c5_8f13_3d4e25e9fe25
Relationship Graph
Source Code
buffer/src/test/java/io/netty/buffer/SimpleLeakAwareByteBufTest.java lines 38–183
public class SimpleLeakAwareByteBufTest extends BigEndianHeapByteBufTest {
private final Class<? extends ByteBuf> clazz = leakClass();
private final Queue<NoopResourceLeakTracker<ByteBuf>> trackers = new ArrayDeque<NoopResourceLeakTracker<ByteBuf>>();
@Override
protected final ByteBuf newBuffer(int capacity, int maxCapacity) {
return wrap(super.newBuffer(capacity, maxCapacity));
}
private ByteBuf wrap(ByteBuf buffer) {
NoopResourceLeakTracker<ByteBuf> tracker = new NoopResourceLeakTracker<ByteBuf>();
ByteBuf leakAwareBuf = wrap(buffer, tracker);
trackers.add(tracker);
return leakAwareBuf;
}
protected SimpleLeakAwareByteBuf wrap(ByteBuf buffer, ResourceLeakTracker<ByteBuf> tracker) {
return new SimpleLeakAwareByteBuf(buffer, tracker);
}
@BeforeEach
@Override
public void init() {
super.init();
trackers.clear();
}
@AfterEach
@Override
public void dispose() {
super.dispose();
for (;;) {
NoopResourceLeakTracker<ByteBuf> tracker = trackers.poll();
if (tracker == null) {
break;
}
assertTrue(tracker.get());
}
}
protected Class<? extends ByteBuf> leakClass() {
return SimpleLeakAwareByteBuf.class;
}
@Test
public void testWrapSlice() {
assertWrapped(newBuffer(8).slice());
}
@Test
public void testWrapSlice2() {
assertWrapped(newBuffer(8).slice(0, 1));
}
@Test
public void testWrapReadSlice() {
ByteBuf buffer = newBuffer(8);
if (buffer.isReadable()) {
assertWrapped(buffer.readSlice(1));
} else {
assertTrue(buffer.release());
}
}
@Test
public void testWrapRetainedSlice() {
ByteBuf buffer = newBuffer(8);
assertWrapped(buffer.retainedSlice());
assertTrue(buffer.release());
}
@Test
public void testWrapRetainedSlice2() {
ByteBuf buffer = newBuffer(8);
if (buffer.isReadable()) {
assertWrapped(buffer.retainedSlice(0, 1));
}
assertTrue(buffer.release());
}
Source
Frequently Asked Questions
What is the SimpleLeakAwareByteBufTest class?
SimpleLeakAwareByteBufTest is a class in the netty codebase, defined in buffer/src/test/java/io/netty/buffer/SimpleLeakAwareByteBufTest.java.
Where is SimpleLeakAwareByteBufTest defined?
SimpleLeakAwareByteBufTest is defined in buffer/src/test/java/io/netty/buffer/SimpleLeakAwareByteBufTest.java at line 38.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free