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.CleanableDirectBuffer;
19 import io.netty.util.internal.PlatformDependent;
20
21 import java.nio.ByteBuffer;
22
23 class UnpooledUnsafeNoCleanerDirectByteBuf extends UnpooledUnsafeDirectByteBuf {
24 UnpooledUnsafeNoCleanerDirectByteBuf(ByteBufAllocator alloc, int initialCapacity, int maxCapacity) {
25 super(alloc, initialCapacity, maxCapacity);
26 }
27
28 @Override
29 protected ByteBuffer allocateDirect(int initialCapacity) {
30 throw new UnsupportedOperationException();
31 }
32
33 CleanableDirectBuffer reallocateDirect(CleanableDirectBuffer oldBuffer, int newCapacity) {
34 return PlatformDependent.reallocateDirect(oldBuffer, newCapacity);
35 }
36
37 @Override
38 protected void freeDirect(ByteBuffer buffer) {
39 throw new UnsupportedOperationException();
40 }
41
42 @Override
43 public ByteBuf capacity(int newCapacity) {
44 checkNewCapacity(newCapacity);
45
46 int oldCapacity = capacity();
47 if (newCapacity == oldCapacity) {
48 return this;
49 }
50
51 trimIndicesToCapacity(newCapacity);
52 setByteBuffer(reallocateDirect(cleanable, newCapacity), false);
53 return this;
54 }
55 }