1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package io.netty.buffer;
17
18 import io.netty.util.internal.PlatformDependent;
19
20 import java.nio.ByteBuffer;
21
22 class UnpooledUnsafeNoCleanerDirectByteBuf extends UnpooledUnsafeDirectByteBuf {
23
24 UnpooledUnsafeNoCleanerDirectByteBuf(ByteBufAllocator alloc, int initialCapacity, int maxCapacity,
25 boolean allowSectionedInternalNioBufferAccess) {
26 super(alloc, initialCapacity, maxCapacity, allowSectionedInternalNioBufferAccess);
27 }
28
29 @Override
30 protected ByteBuffer allocateDirect(int initialCapacity) {
31 return PlatformDependent.allocateDirectNoCleaner(initialCapacity);
32 }
33
34 ByteBuffer reallocateDirect(ByteBuffer oldBuffer, int initialCapacity) {
35 return PlatformDependent.reallocateDirectNoCleaner(oldBuffer, initialCapacity);
36 }
37
38 @Override
39 protected void freeDirect(ByteBuffer buffer) {
40 PlatformDependent.freeDirectNoCleaner(buffer);
41 }
42
43 @Override
44 public ByteBuf capacity(int newCapacity) {
45 checkNewCapacity(newCapacity);
46
47 int oldCapacity = capacity();
48 if (newCapacity == oldCapacity) {
49 return this;
50 }
51
52 trimIndicesToCapacity(newCapacity);
53 setByteBuffer(reallocateDirect(buffer, newCapacity), false);
54 return this;
55 }
56 }