blob: 902d94ae0ecf0b0c60641d7f4eb17af1ee5eb229 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
package org.libreoffice;
import java.nio.ByteBuffer;
public class DirectBufferAllocator {
public static ByteBuffer allocate(int size) {
if (size <= 0) {
throw new IllegalArgumentException("Invalid size " + size);
}
ByteBuffer directBuffer = ByteBuffer.allocateDirect(size);
//ByteBuffer directBuffer = nativeAllocateDirectBuffer(size);
if (directBuffer == null) {
throw new OutOfMemoryError("allocateDirectBuffer() returned null");
} else if (!directBuffer.isDirect()) {
throw new AssertionError("allocateDirectBuffer() did not return a direct buffer");
}
return directBuffer;
}
public static ByteBuffer free(ByteBuffer buffer) {
if (buffer == null) {
return null;
}
if (!buffer.isDirect()) {
throw new IllegalArgumentException("buffer must be direct");
}
//nativeFreeDirectBuffer(buffer);
return buffer;
}
}
|