This is an automated email from the ASF dual-hosted git repository.
leerho pushed a commit to branch frank_grimes_java-21-ffm
in repository https://gitbox.apache.org/repos/asf/datasketches-memory.git
The following commit(s) were added to refs/heads/frank_grimes_java-21-ffm by
this push:
new f7ab4f2 Refactored method params so Arena is last param.
f7ab4f2 is described below
commit f7ab4f2f1f9afc60f7fada228075972591985586
Author: Lee Rhodes <[email protected]>
AuthorDate: Sat Nov 23 14:22:50 2024 -0800
Refactored method params so Arena is last param.
---
.../memory/DefaultMemoryRequestServer.java | 4 +--
.../org/apache/datasketches/memory/Memory.java | 16 +++++----
.../datasketches/memory/MemoryRequestServer.java | 3 +-
.../org/apache/datasketches/memory/Resource.java | 7 ++--
.../apache/datasketches/memory/WritableMemory.java | 21 +++++++-----
.../memory/internal/NativeWritableBufferImpl.java | 2 +-
.../memory/internal/NativeWritableMemoryImpl.java | 6 ++--
.../internal/NonNativeWritableBufferImpl.java | 6 ++--
.../internal/NonNativeWritableMemoryImpl.java | 6 ++--
.../memory/internal/PositionalImpl.java | 6 ++--
.../datasketches/memory/internal/ResourceImpl.java | 13 +++----
.../memory/internal/WritableBufferImpl.java | 8 ++---
.../memory/internal/WritableMemoryImpl.java | 30 ++++++++--------
.../internal/AllocateDirectMapMemoryTest.java | 10 +++---
.../memory/internal/AllocateDirectMemoryTest.java | 8 ++---
.../AllocateDirectWritableMapMemoryTest.java | 8 ++---
.../datasketches/memory/internal/Buffer2Test.java | 2 +-
.../memory/internal/BufferInvariantsTest.java | 4 +--
.../datasketches/memory/internal/BufferTest.java | 8 ++---
.../memory/internal/CommonBufferTest.java | 10 +++---
.../memory/internal/CommonMemoryTest.java | 12 +++----
.../memory/internal/CopyMemoryOverlapTest.java | 4 +--
.../memory/internal/CopyMemoryTest.java | 2 +-
.../internal/ExampleMemoryRequestServerTest.java | 4 +--
.../memory/internal/IgnoredArrayOverflowTest.java | 4 +--
.../memory/internal/InvalidAllocationTest.java | 4 +--
.../datasketches/memory/internal/LeafImplTest.java | 4 +--
.../memory/internal/MemoryReadWriteSafetyTest.java | 6 ++--
.../datasketches/memory/internal/MemoryTest.java | 10 +++---
.../memory/internal/MemoryWriteToTest.java | 2 +-
.../memory/internal/MurmurHash3v3Test.java | 2 +-
.../internal/NativeWritableBufferImplTest.java | 16 ++++-----
.../internal/NativeWritableMemoryImplTest.java | 40 +++++++++++-----------
.../memory/internal/SpecificLeafTest.java | 2 +-
.../memory/internal/WritableDirectCopyTest.java | 24 ++++++-------
35 files changed, 161 insertions(+), 153 deletions(-)
diff --git
a/src/main/java/org/apache/datasketches/memory/DefaultMemoryRequestServer.java
b/src/main/java/org/apache/datasketches/memory/DefaultMemoryRequestServer.java
index 586a823..0bcbd34 100644
---
a/src/main/java/org/apache/datasketches/memory/DefaultMemoryRequestServer.java
+++
b/src/main/java/org/apache/datasketches/memory/DefaultMemoryRequestServer.java
@@ -68,7 +68,7 @@ public final class DefaultMemoryRequestServer implements
MemoryRequestServer {
}
if (offHeap) {
- newWmem = WritableMemory.allocateDirect(arena, newCapacityBytes, 8,
order, this);
+ newWmem = WritableMemory.allocateDirect(newCapacityBytes, 8, order,
this, arena);
}
else { //On-heap
if (newCapacityBytes > Integer.MAX_VALUE) {
@@ -88,7 +88,7 @@ public final class DefaultMemoryRequestServer implements
MemoryRequestServer {
public void requestClose(
final WritableMemory memToClose,
final WritableMemory newMemory) {
- //make this operation idempotent.
+ //try to make this operation idempotent.
if (memToClose.isCloseable()) { memToClose.close(); }
}
diff --git a/src/main/java/org/apache/datasketches/memory/Memory.java
b/src/main/java/org/apache/datasketches/memory/Memory.java
index fe0dfce..d19e21a 100644
--- a/src/main/java/org/apache/datasketches/memory/Memory.java
+++ b/src/main/java/org/apache/datasketches/memory/Memory.java
@@ -73,10 +73,11 @@ public interface Memory extends Resource {
/**
* Maps the given file into <i>Memory</i> for read operations
* Calling this method is equivalent to calling
- * {@link #map(Arena, File, long, long, ByteOrder)
+ * {@link #map(File, long, long, ByteOrder, Arena)
* map(file, 0, file.length(), scope, ByteOrder.nativeOrder())}.
- * @param arena the given arena. It must be non-null.
* @param file the given file to map. It must be non-null with a
non-negative length and readable.
+ * @param arena the given arena. It must be non-null.
+ * Warning: This class is not thread-safe. Specifying an Arena that allows
multiple threads is not supported.
* @return <i>Memory</i> for managing the mapped memory.
* @throws IllegalArgumentException if path is not associated with the
default file system.
* @throws IllegalStateException if scope has been already closed, or if
access occurs from a thread other than the thread owning scope.
@@ -84,17 +85,18 @@ public interface Memory extends Resource {
* @throws SecurityException If a security manager is installed and it
denies an unspecified permission
* required by the implementation.
*/
- static Memory map(Arena arena, File file) throws IOException {
- return map(arena, file, 0, file.length(), ByteOrder.nativeOrder());
+ static Memory map(File file, Arena arena) throws IOException {
+ return map(file, 0, file.length(), ByteOrder.nativeOrder(), arena);
}
/**
* Maps the specified portion of the given file into <i>Memory</i> for read
operations.
- * @param arena the given arena. It must be non-null.
* @param file the given file to map. It must be non-null,readable and
length ≥ 0.
* @param fileOffsetBytes the position in the given file in bytes. It must
not be negative.
* @param capacityBytes the size of the mapped memory. It must not be
negative..
* @param byteOrder the byte order to be used. It must be non-null.
+ * @param arena the given arena. It must be non-null.
+ * Warning: This class is not thread-safe. Specifying an Arena that allows
multiple threads is not supported.
* @return <i>Memory</i> for managing the mapped memory.
* @throws IllegalArgumentException if path is not associated with the
default file system.
* @throws IllegalStateException if scope has been already closed, or if
access occurs from a thread other than the thread owning scope.
@@ -103,11 +105,11 @@ public interface Memory extends Resource {
* required by the implementation.
*/
static Memory map(
- Arena arena,
File file,
long fileOffsetBytes,
long capacityBytes,
- ByteOrder byteOrder) throws IOException {
+ ByteOrder byteOrder,
+ Arena arena) throws IOException {
return WritableMemoryImpl.wrapMap(file, fileOffsetBytes, capacityBytes,
byteOrder, true, arena);
}
diff --git
a/src/main/java/org/apache/datasketches/memory/MemoryRequestServer.java
b/src/main/java/org/apache/datasketches/memory/MemoryRequestServer.java
index 24b5243..7c9fc67 100644
--- a/src/main/java/org/apache/datasketches/memory/MemoryRequestServer.java
+++ b/src/main/java/org/apache/datasketches/memory/MemoryRequestServer.java
@@ -52,8 +52,7 @@ public interface MemoryRequestServer {
* @param currentWritableMemory the current writableMemory of the client. It
must be non-null.
* @param newCapacityBytes The capacity being requested. It must be > the
capacity of the currentWritableMemory.
* @param arena the Arena to be used for the newly allocated memory. It must
be non-null.
- * Typically use <i>Arena.ofConfined()</i>.
- * Warning: specifying a <i>Arena.ofShared()</i> is not supported.
+ * Warning: This class is not thread-safe. Specifying an Arena that allows
multiple threads is not supported.
* @return new WritableMemory with the requested capacity.
*/
WritableMemory request(
diff --git a/src/main/java/org/apache/datasketches/memory/Resource.java
b/src/main/java/org/apache/datasketches/memory/Resource.java
index 529a8bc..05cfc16 100644
--- a/src/main/java/org/apache/datasketches/memory/Resource.java
+++ b/src/main/java/org/apache/datasketches/memory/Resource.java
@@ -46,7 +46,7 @@ public interface Resource extends AutoCloseable {
* <p>The user can customize the actions of the MemoryRequestServer by
* implementing the MemoryRequestServer interface and set it using the
* {@link #setMemoryRequestServer(MemoryRequestServer)} method or optionally
with the
- * {@link WritableMemory#allocateDirect(arena, long, long, ByteOrder,
MemoryRequestServer)} method.</p>
+ * {@link WritableMemory#allocateDirect(long, long, ByteOrder,
MemoryRequestServer, arena)} method.</p>
*
* <p>If the MemoryRequestServer is not set by the user and additional
memory is needed by the sketch,
* null will be returned and the sketch will abort.
@@ -116,8 +116,9 @@ public interface Resource extends AutoCloseable {
void close();
/**
- * Return true if this resource is closeable.
- * @return true if this resource is closeable.
+ * Return true if this resource likely to be closeable, but not guaranteed.
+ * There is no way to determine if the specific type of Arena is explicitly
closeable.
+ * @return true if this resource likely to be closeable.
*/
boolean isCloseable();
diff --git a/src/main/java/org/apache/datasketches/memory/WritableMemory.java
b/src/main/java/org/apache/datasketches/memory/WritableMemory.java
index 7b79041..9d49220 100644
--- a/src/main/java/org/apache/datasketches/memory/WritableMemory.java
+++ b/src/main/java/org/apache/datasketches/memory/WritableMemory.java
@@ -113,6 +113,7 @@ public interface WritableMemory extends Memory {
* @param capacityBytes the size of the mapped Memory.
* @param byteOrder the given <i>ByteOrder</i>. It must be non-null.
* @param arena the given arena to map. It must be non-null.
+ * Warning: This class is not thread-safe. Specifying an Arena that allows
multiple threads is not supported.
* @return a file-mapped WritableMemory.
* @throws IllegalArgumentException if file is not readable or not writable.
* @throws IOException if the specified path does not point to an existing
file, or if some other I/O error occurs.
@@ -138,13 +139,14 @@ public interface WritableMemory extends Memory {
* <p><b>NOTE:</b> Native/Direct memory acquired may have garbage in it.
* It is the responsibility of the using application to clear this memory,
if required,
* and to call <i>close()</i> when done.</p>
- *
- * @param arena the given arena to map. It must be non-null.
* @param capacityBytes the size of the desired memory in bytes.
+ * @param arena the given arena to map. It must be non-null.
+ * Warning: This class is not thread-safe. Specifying an Arena that allows
multiple threads is not supported.
+ *
* @return WritableMemory for this off-heap, native resource.
*/
- static WritableMemory allocateDirect(Arena arena, long capacityBytes) {
- return allocateDirect(arena, capacityBytes, 8, ByteOrder.nativeOrder(),
new DefaultMemoryRequestServer());
+ static WritableMemory allocateDirect(long capacityBytes, Arena arena) {
+ return allocateDirect(capacityBytes, 8, ByteOrder.nativeOrder(), new
DefaultMemoryRequestServer(), arena);
}
/**
@@ -154,22 +156,23 @@ public interface WritableMemory extends Memory {
* <p><b>NOTE:</b> Native/Direct memory acquired may have garbage in it.
* It is the responsibility of the using application to clear this memory,
if required,
* and to call <i>close()</i> when done.</p>
- *
- * @param arena the given arena to map. It must be non-null.
* @param capacityBytes the size of the desired memory in bytes.
* @param alignmentBytes requested segment alignment. Typically 1, 2, 4 or 8.
* @param byteOrder the given <i>ByteOrder</i>. It must be non-null.
* @param memReqSvr A user-specified MemoryRequestServer, which may be null.
* This is a callback mechanism for a user client of direct memory to
request more memory.
+ * @param arena the given arena to map. It must be non-null.
+ * Warning: This class is not thread-safe. Specifying an Arena that allows
multiple threads is not supported.
+ *
* @return a WritableMemory for this off-heap resource.
*/
static WritableMemory allocateDirect(
- Arena arena,
long capacityBytes,
long alignmentBytes,
ByteOrder byteOrder,
- MemoryRequestServer memReqSvr) {
- return WritableMemoryImpl.wrapDirect(arena, capacityBytes, alignmentBytes,
byteOrder, memReqSvr);
+ MemoryRequestServer memReqSvr,
+ Arena arena) {
+ return WritableMemoryImpl.wrapDirect(capacityBytes, alignmentBytes,
byteOrder, memReqSvr, arena);
}
//REGIONS
diff --git
a/src/main/java/org/apache/datasketches/memory/internal/NativeWritableBufferImpl.java
b/src/main/java/org/apache/datasketches/memory/internal/NativeWritableBufferImpl.java
index fbc0faa..b254398 100644
---
a/src/main/java/org/apache/datasketches/memory/internal/NativeWritableBufferImpl.java
+++
b/src/main/java/org/apache/datasketches/memory/internal/NativeWritableBufferImpl.java
@@ -51,7 +51,7 @@ final class NativeWritableBufferImpl extends
WritableBufferImpl {
final MemorySegment seg,
final int typeId,
final MemoryRequestServer memReqSvr) {
- super(arena, seg, typeId, memReqSvr);
+ super(seg, typeId, memReqSvr, arena);
}
//PRIMITIVE getX() and getXArray()
diff --git
a/src/main/java/org/apache/datasketches/memory/internal/NativeWritableMemoryImpl.java
b/src/main/java/org/apache/datasketches/memory/internal/NativeWritableMemoryImpl.java
index 9b43f91..6025ed5 100644
---
a/src/main/java/org/apache/datasketches/memory/internal/NativeWritableMemoryImpl.java
+++
b/src/main/java/org/apache/datasketches/memory/internal/NativeWritableMemoryImpl.java
@@ -35,11 +35,11 @@ final class NativeWritableMemoryImpl extends
WritableMemoryImpl {
//Pass-through constructor
NativeWritableMemoryImpl(
- final Arena arena,
final MemorySegment seg,
final int typeId,
- final MemoryRequestServer memReqSvr) {
- super(arena, seg, typeId, memReqSvr);
+ final MemoryRequestServer memReqSvr,
+ final Arena arena) {
+ super(seg, typeId, memReqSvr, arena);
}
///PRIMITIVE getX() and getXArray()
diff --git
a/src/main/java/org/apache/datasketches/memory/internal/NonNativeWritableBufferImpl.java
b/src/main/java/org/apache/datasketches/memory/internal/NonNativeWritableBufferImpl.java
index 93409ed..b9ab430 100644
---
a/src/main/java/org/apache/datasketches/memory/internal/NonNativeWritableBufferImpl.java
+++
b/src/main/java/org/apache/datasketches/memory/internal/NonNativeWritableBufferImpl.java
@@ -55,11 +55,11 @@ final class NonNativeWritableBufferImpl extends
WritableBufferImpl {
//Pass-through ctor
NonNativeWritableBufferImpl(
- final Arena arena,
final MemorySegment seg,
final int typeId,
- final MemoryRequestServer memReqSvr) {
- super(arena, seg, typeId, memReqSvr);
+ final MemoryRequestServer memReqSvr,
+ final Arena arena) {
+ super(seg, typeId, memReqSvr, arena);
}
//PRIMITIVE getX() and getXArray()
diff --git
a/src/main/java/org/apache/datasketches/memory/internal/NonNativeWritableMemoryImpl.java
b/src/main/java/org/apache/datasketches/memory/internal/NonNativeWritableMemoryImpl.java
index eb8b8cf..bcd3287 100644
---
a/src/main/java/org/apache/datasketches/memory/internal/NonNativeWritableMemoryImpl.java
+++
b/src/main/java/org/apache/datasketches/memory/internal/NonNativeWritableMemoryImpl.java
@@ -42,11 +42,11 @@ final class NonNativeWritableMemoryImpl extends
WritableMemoryImpl {
//Pass-through ctor
NonNativeWritableMemoryImpl(
- final Arena arena,
final MemorySegment seg,
final int typeId,
- final MemoryRequestServer memReqSvr) {
- super(arena, seg, typeId, memReqSvr);
+ final MemoryRequestServer memReqSvr,
+ final Arena arena) {
+ super(seg, typeId, memReqSvr, arena);
}
///PRIMITIVE getX() and getXArray()
diff --git
a/src/main/java/org/apache/datasketches/memory/internal/PositionalImpl.java
b/src/main/java/org/apache/datasketches/memory/internal/PositionalImpl.java
index 94ddcde..914ce32 100644
--- a/src/main/java/org/apache/datasketches/memory/internal/PositionalImpl.java
+++ b/src/main/java/org/apache/datasketches/memory/internal/PositionalImpl.java
@@ -52,11 +52,11 @@ abstract class PositionalImpl extends ResourceImpl
implements Positional {
//Pass-through constructor
PositionalImpl(
- final Arena arena,
final MemorySegment seg,
final int typeId,
- final MemoryRequestServer memReqSvr) {
- super(arena, seg, typeId, memReqSvr);
+ final MemoryRequestServer memReqSvr,
+ final Arena arena) {
+ super(seg, typeId, memReqSvr, arena);
capacity = end = seg.byteSize();
}
diff --git
a/src/main/java/org/apache/datasketches/memory/internal/ResourceImpl.java
b/src/main/java/org/apache/datasketches/memory/internal/ResourceImpl.java
index 2da6253..957a444 100644
--- a/src/main/java/org/apache/datasketches/memory/internal/ResourceImpl.java
+++ b/src/main/java/org/apache/datasketches/memory/internal/ResourceImpl.java
@@ -106,16 +106,17 @@ abstract class ResourceImpl implements Resource {
/**
* Root constructor.
- * @param arena the given Arena, or null if an on-heap MemorySegment.
* @param seg the given, one and only one MemorySegment
* @param typeId the given typeId
* @param memReqSvr the given MemoryRequestServer, or null.
+ * @param arena the given Arena, or null if an on-heap MemorySegment.
+ * Warning: This class is not thread-safe. Specifying an Arena that allows
multiple threads is not supported.
*/
- ResourceImpl(final Arena arena, final MemorySegment seg, final int typeId,
final MemoryRequestServer memReqSvr) {
- this.arena = arena;
+ ResourceImpl(final MemorySegment seg, final int typeId, final
MemoryRequestServer memReqSvr, final Arena arena) {
this.seg = seg;
this.typeId = typeId;
this.memReqSvr = memReqSvr;
+ this.arena = arena;
}
//MemoryReqestServer logic
@@ -253,7 +254,7 @@ abstract class ResourceImpl implements Resource {
if (nativeBOType) {
wbuf = new NativeWritableBufferImpl(null, segment, type, memReqSvr2);
} else { //non-native BO
- wbuf = new NonNativeWritableBufferImpl(null, segment, type, memReqSvr2);
+ wbuf = new NonNativeWritableBufferImpl(segment, type, memReqSvr2, null);
}
return wbuf;
}
@@ -268,9 +269,9 @@ abstract class ResourceImpl implements Resource {
final MemoryRequestServer memReqSvr2 = (byteBufferType || mapType) ? null
: memReqSvr;
final WritableMemory wmem;
if (nativeBOType) {
- wmem = new NativeWritableMemoryImpl(null, segment, type, memReqSvr2);
+ wmem = new NativeWritableMemoryImpl(segment, type, memReqSvr2, null);
} else { //non-native BO
- wmem = new NonNativeWritableMemoryImpl(null, segment, type, memReqSvr2);
+ wmem = new NonNativeWritableMemoryImpl(segment, type, memReqSvr2, null);
}
return wmem;
}
diff --git
a/src/main/java/org/apache/datasketches/memory/internal/WritableBufferImpl.java
b/src/main/java/org/apache/datasketches/memory/internal/WritableBufferImpl.java
index 9ce84de..7b448c3 100644
---
a/src/main/java/org/apache/datasketches/memory/internal/WritableBufferImpl.java
+++
b/src/main/java/org/apache/datasketches/memory/internal/WritableBufferImpl.java
@@ -53,11 +53,11 @@ public abstract class WritableBufferImpl extends
PositionalImpl implements Writa
//Pass-through constructor
WritableBufferImpl(
- final Arena arena,
final MemorySegment seg,
final int typeId,
- final MemoryRequestServer memReqSvr) {
- super(arena, seg, typeId, memReqSvr);
+ final MemoryRequestServer memReqSvr,
+ final Arena arena) {
+ super(seg, typeId, memReqSvr, arena);
}
//NO WRAP HEAP ARRAY RESOURCE
@@ -101,7 +101,7 @@ public abstract class WritableBufferImpl extends
PositionalImpl implements Writa
final WritableBuffer wbuf;
if (byteOrder == NON_NATIVE_BYTE_ORDER) {
type |= NONNATIVE_BO;
- wbuf = new NonNativeWritableBufferImpl(null, seg, type, memReqSvr);
+ wbuf = new NonNativeWritableBufferImpl(seg, type, memReqSvr, null);
} else {
wbuf = new NativeWritableBufferImpl(null, seg, type, memReqSvr);
}
diff --git
a/src/main/java/org/apache/datasketches/memory/internal/WritableMemoryImpl.java
b/src/main/java/org/apache/datasketches/memory/internal/WritableMemoryImpl.java
index 60a7d5a..aa06b2b 100644
---
a/src/main/java/org/apache/datasketches/memory/internal/WritableMemoryImpl.java
+++
b/src/main/java/org/apache/datasketches/memory/internal/WritableMemoryImpl.java
@@ -51,11 +51,11 @@ public abstract class WritableMemoryImpl extends
ResourceImpl implements Writabl
//Pass-through constructor
WritableMemoryImpl(
- final Arena arena,
final MemorySegment seg,
final int typeId,
- final MemoryRequestServer memReqSvr) {
- super(arena, seg, typeId, memReqSvr);
+ final MemoryRequestServer memReqSvr,
+ final Arena arena) {
+ super(seg, typeId, memReqSvr, arena);
}
//WRAP HEAP ARRAY RESOURCE
@@ -76,9 +76,9 @@ public abstract class WritableMemoryImpl extends ResourceImpl
implements Writabl
| (seg.isReadOnly() ? READONLY : 0);
if (byteOrder == NON_NATIVE_BYTE_ORDER) {
type |= NONNATIVE_BO;
- return new NonNativeWritableMemoryImpl(null, seg, type, memReqSvr);
+ return new NonNativeWritableMemoryImpl(seg, type, memReqSvr, null);
}
- return new NativeWritableMemoryImpl(null, seg, type, memReqSvr);
+ return new NativeWritableMemoryImpl(seg, type, memReqSvr, null);
}
//BYTE BUFFER RESOURCE
@@ -124,9 +124,9 @@ public abstract class WritableMemoryImpl extends
ResourceImpl implements Writabl
final WritableMemory wmem;
if (byteOrder == NON_NATIVE_BYTE_ORDER) {
type |= NONNATIVE_BO;
- wmem = new NonNativeWritableMemoryImpl(null, seg, type, memReqSvr);
+ wmem = new NonNativeWritableMemoryImpl(seg, type, memReqSvr, null);
} else {
- wmem = new NativeWritableMemoryImpl(null, seg, type, memReqSvr);
+ wmem = new NativeWritableMemoryImpl(seg, type, memReqSvr, null);
}
return wmem;
}
@@ -145,6 +145,7 @@ public abstract class WritableMemoryImpl extends
ResourceImpl implements Writabl
* @param byteOrder the given <i>ByteOrder</i>. It must be non-null.
* @param localReadOnly true if read-only is being imposed locally, even if
the given file is writable..
* @param arena the given arena. It must be non-null.
+ * Warning: This class is not thread-safe. Specifying an Arena that allows
multiple threads is not supported.
* @return a <i>WritableMemory</i>
* @throws IllegalArgumentException if file is not readable.
* @throws IOException if mapping is not successful.
@@ -185,8 +186,8 @@ public abstract class WritableMemoryImpl extends
ResourceImpl implements Writabl
final MemorySegment seg = fileChannel.map(mapMode, fileOffsetBytes,
capacityBytes, arena);
return nativeBOType
- ? new NativeWritableMemoryImpl(arena, seg, type, null)
- : new NonNativeWritableMemoryImpl(arena, seg, type, null);
+ ? new NativeWritableMemoryImpl(seg, type, null, arena)
+ : new NonNativeWritableMemoryImpl(seg, type, null, arena);
}
}
@@ -194,21 +195,22 @@ public abstract class WritableMemoryImpl extends
ResourceImpl implements Writabl
/**
* The static constructor that chooses the correct Direct leaf node based on
the byte order.
- * @param arena the given arena. It must be non-null.
* @param capacityBytes the requested capacity for the Direct (off-heap)
memory. It must be ≥ 0.
* @param alignmentBytes requested segment alignment. Typically 1, 2, 4 or 8.
* Warning: specifying a <i>Arena.ofShared()</i> is not supported.
* @param byteOrder the byte order to be used. It must be non-null.
* @param memReqSvr A user-specified MemoryRequestServer, which may be null.
* This is a callback mechanism for a user client of direct memory to
request more memory.
+ * @param arena the given arena. It must be non-null.
+ * Warning: This class is not thread-safe. Specifying an Arena that allows
multiple threads is not supported.
* @return WritableMemory
*/
public static WritableMemory wrapDirect(
- final Arena arena,
final long capacityBytes,
final long alignmentBytes,
final ByteOrder byteOrder,
- final MemoryRequestServer memReqSvr) {
+ final MemoryRequestServer memReqSvr,
+ final Arena arena) {
Objects.requireNonNull(arena, "Arena must be non-null");
Objects.requireNonNull(byteOrder, "ByteOrder must be non-null");
final MemorySegment seg = arena.allocate(capacityBytes, alignmentBytes);
@@ -216,8 +218,8 @@ public abstract class WritableMemoryImpl extends
ResourceImpl implements Writabl
final int type = MEMORY | DIRECT
| (nativeBOType ? NATIVE_BO : NONNATIVE_BO);
return nativeBOType
- ? new NativeWritableMemoryImpl(arena, seg, type, memReqSvr)
- : new NonNativeWritableMemoryImpl(arena, seg, type, memReqSvr);
+ ? new NativeWritableMemoryImpl(seg, type, memReqSvr, arena)
+ : new NonNativeWritableMemoryImpl(seg, type, memReqSvr, arena);
}
//REGION DERIVED
diff --git
a/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectMapMemoryTest.java
b/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectMapMemoryTest.java
index c2d40f8..64f981e 100644
---
a/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectMapMemoryTest.java
+++
b/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectMapMemoryTest.java
@@ -42,7 +42,7 @@ public class AllocateDirectMapMemoryTest {
@Test
public void simpleMap() throws IOException {
File file = UtilTest.setGettysburgAddressFileToReadOnly();
- try (Memory mem = Memory.map(Arena.ofConfined(), file)) {
+ try (Memory mem = Memory.map(file, Arena.ofConfined())) {
mem.close();
} //The Try-With-Resources will throw since it is already closed
catch (IllegalStateException e) { /* OK */ }
@@ -51,7 +51,7 @@ public class AllocateDirectMapMemoryTest {
@Test
public void testIllegalArguments() throws IOException {
File file = getResourceFile("GettysburgAddress.txt");
- try (Memory mem = Memory.map(Arena.ofConfined(), file, -1,
Integer.MAX_VALUE, ByteOrder.nativeOrder())) {
+ try (Memory mem = Memory.map(file, -1, Integer.MAX_VALUE,
ByteOrder.nativeOrder(), Arena.ofConfined())) {
fail("Failed: test IllegalArgumentException: Position was negative.");
mem.getCapacity();
}
@@ -59,7 +59,7 @@ public class AllocateDirectMapMemoryTest {
//ok
}
try (Arena arena = Arena.ofConfined();
- Memory mem = Memory.map(arena, file, 0, -1, ByteOrder.nativeOrder()))
{
+ Memory mem = Memory.map(file, 0, -1, ByteOrder.nativeOrder(), arena))
{
fail("Failed: testIllegalArgumentException: Size was negative.");
} catch (IllegalArgumentException e) {
//ok
@@ -72,7 +72,7 @@ public class AllocateDirectMapMemoryTest {
long memCapacity = file.length();
Memory mem2 = null;
try {
- try (Memory mem = Memory.map(Arena.ofConfined(), file, 0, memCapacity,
ByteOrder.nativeOrder())) {
+ try (Memory mem = Memory.map(file, 0, memCapacity,
ByteOrder.nativeOrder(), Arena.ofConfined())) {
mem2 = mem;
assertEquals(memCapacity, mem.getCapacity());
mem.close(); //a close inside the TWR block will throw
@@ -88,7 +88,7 @@ public class AllocateDirectMapMemoryTest {
public void testLoad() throws IOException {
File file = getResourceFile("GettysburgAddress.txt");
long memCapacity = file.length();
- try (Memory mem = Memory.map(Arena.ofConfined(), file, 0, memCapacity,
ByteOrder.nativeOrder())) {
+ try (Memory mem = Memory.map(file, 0, memCapacity,
ByteOrder.nativeOrder(), Arena.ofConfined())) {
mem.load();
//assertTrue(mem.isLoaded()); //incompatible with Windows
assertTrue(mem.isAlive());
diff --git
a/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectMemoryTest.java
b/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectMemoryTest.java
index 4fb790a..7a0b4ef 100644
---
a/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectMemoryTest.java
+++
b/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectMemoryTest.java
@@ -39,7 +39,7 @@ public class AllocateDirectMemoryTest {
public void simpleAllocateDirect() {
int longs = 32;
WritableMemory wMem2 = null;
- try (WritableMemory wMem =
WritableMemory.allocateDirect(Arena.ofConfined(), longs << 3)) {
+ try (WritableMemory wMem = WritableMemory.allocateDirect(longs << 3,
Arena.ofConfined())) {
wMem2 = wMem;
for (int i = 0; i<longs; i++) {
wMem.putLong(i << 3, i);
@@ -56,7 +56,7 @@ public class AllocateDirectMemoryTest {
public void checkDefaultMemoryRequestServer() {
int longs1 = 32;
int bytes1 = longs1 << 3;
- try (WritableMemory origWmem =
WritableMemory.allocateDirect(Arena.ofConfined(), bytes1)) {
+ try (WritableMemory origWmem = WritableMemory.allocateDirect(bytes1,
Arena.ofConfined())) {
for (int i = 0; i < longs1; i++) { //puts data in origWmem
origWmem.putLong(i << 3, i);
assertEquals(origWmem.getLong(i << 3), i);
@@ -81,7 +81,7 @@ public class AllocateDirectMemoryTest {
@Test
public void checkNonNativeDirect() {
MemoryRequestServer myMemReqSvr = Resource.defaultMemReqSvr;
- try (WritableMemory wmem =
WritableMemory.allocateDirect(Arena.ofConfined(), 128, 8,
NON_NATIVE_BYTE_ORDER, myMemReqSvr)) {
+ try (WritableMemory wmem = WritableMemory.allocateDirect(128, 8,
NON_NATIVE_BYTE_ORDER, myMemReqSvr, Arena.ofConfined())) {
wmem.putChar(0, (char) 1);
assertEquals(wmem.getByte(1), (byte) 1);
}
@@ -90,7 +90,7 @@ public class AllocateDirectMemoryTest {
@Test
public void checkExplicitCloseNoTWR() {
final long cap = 128;
- WritableMemory wmem = WritableMemory.allocateDirect(Arena.ofConfined(),
cap);
+ WritableMemory wmem = WritableMemory.allocateDirect(cap,
Arena.ofConfined());
wmem.close(); //explicit close
}
diff --git
a/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectWritableMapMemoryTest.java
b/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectWritableMapMemoryTest.java
index 4d9f056..8e6f3b7 100644
---
a/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectWritableMapMemoryTest.java
+++
b/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectWritableMapMemoryTest.java
@@ -60,7 +60,7 @@ public class AllocateDirectWritableMapMemoryTest {
UnsupportedOperationException, IOException, SecurityException {
File file = getResourceFile("GettysburgAddress.txt");
- try (Memory mem = Memory.map(Arena.ofConfined(), file)) {
+ try (Memory mem = Memory.map(file, Arena.ofConfined())) {
byte[] byteArr = new byte[(int)mem.getCapacity()];
mem.getByteArray(0, byteArr, 0, byteArr.length);
String text = new String(byteArr, UTF_8);
@@ -89,7 +89,7 @@ public class AllocateDirectWritableMapMemoryTest {
WritableMemory srcMem = null;
try (Arena arena = Arena.ofConfined()) { //this scope manages two Memory
objects
dstMem = WritableMemory.writableMap(file, 0, numBytes,
ByteOrder.nativeOrder(), arena);
- srcMem = WritableMemory.allocateDirect(arena, numBytes, 8,
ByteOrder.nativeOrder(), memReqSvr);
+ srcMem = WritableMemory.allocateDirect(numBytes, 8,
ByteOrder.nativeOrder(), memReqSvr, arena);
//load source with consecutive longs
for (long i = 0; i < numLongs; i++) {
@@ -129,7 +129,7 @@ public class AllocateDirectWritableMapMemoryTest {
IOException, SecurityException {
File dummy = createTempFile("dummy", ".txt" , ""); //zero length
try (Arena arena = Arena.ofConfined()) {
- Memory.map(arena, dummy, 0, dummy.length(), ByteOrder.nativeOrder());
+ Memory.map(dummy, 0, dummy.length(), ByteOrder.nativeOrder(), arena);
}
}
@@ -171,7 +171,7 @@ public class AllocateDirectWritableMapMemoryTest {
Memory mem = null;
WritableMemory wmem = null;
try (Arena arena = Arena.ofConfined()) {
- mem = Memory.map(arena, origFile, 0, origBytes, ByteOrder.nativeOrder());
+ mem = Memory.map(origFile, 0, origBytes, ByteOrder.nativeOrder(), arena);
mem.load();
//assertTrue(mem.isLoaded()); //incompatible with Windows
//confirm orig string
diff --git
a/src/test/java/org/apache/datasketches/memory/internal/Buffer2Test.java
b/src/test/java/org/apache/datasketches/memory/internal/Buffer2Test.java
index 5cdaed0..b1daf45 100644
--- a/src/test/java/org/apache/datasketches/memory/internal/Buffer2Test.java
+++ b/src/test/java/org/apache/datasketches/memory/internal/Buffer2Test.java
@@ -400,7 +400,7 @@ public class Buffer2Test {
public void checkIndependence() {
int cap = 64;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory wmem = WritableMemory.allocateDirect(arena, cap, 8,
ByteOrder.nativeOrder(), null);
+ WritableMemory wmem = WritableMemory.allocateDirect(cap, 8,
ByteOrder.nativeOrder(), null, arena);
WritableBuffer wbuf1 = wmem.asWritableBuffer();
WritableBuffer wbuf2 = wmem.asWritableBuffer();
assertFalse(wbuf1 == wbuf2);
diff --git
a/src/test/java/org/apache/datasketches/memory/internal/BufferInvariantsTest.java
b/src/test/java/org/apache/datasketches/memory/internal/BufferInvariantsTest.java
index 598d8cc..194e0fa 100644
---
a/src/test/java/org/apache/datasketches/memory/internal/BufferInvariantsTest.java
+++
b/src/test/java/org/apache/datasketches/memory/internal/BufferInvariantsTest.java
@@ -167,7 +167,7 @@ public class BufferInvariantsTest {
@Test
public void checkLimitsDirect() throws Exception {
try (Arena arena = Arena.ofConfined()) {
- WritableMemory wmem = WritableMemory.allocateDirect(arena, 100, 1,
ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory wmem = WritableMemory.allocateDirect(100, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
Buffer buf = wmem.asBuffer();
buf.setStartPositionEnd(40, 45, 50);
buf.setStartPositionEnd(0, 0, 100);
@@ -238,7 +238,7 @@ public class BufferInvariantsTest {
public void testBufDirect() throws Exception {
int n = 25;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory wmem = WritableMemory.allocateDirect(arena, n, 1,
ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory wmem = WritableMemory.allocateDirect(n, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
WritableBuffer buf = wmem.asWritableBuffer();
for (byte i = 0; i < n; i++) { buf.putByte(i); }
buf.setPosition(0);
diff --git
a/src/test/java/org/apache/datasketches/memory/internal/BufferTest.java
b/src/test/java/org/apache/datasketches/memory/internal/BufferTest.java
index 2961453..4571fbe 100644
--- a/src/test/java/org/apache/datasketches/memory/internal/BufferTest.java
+++ b/src/test/java/org/apache/datasketches/memory/internal/BufferTest.java
@@ -42,7 +42,7 @@ public class BufferTest {
public void checkDirectRoundTrip() throws Exception {
int n = 1024; //longs
try (Arena arena = Arena.ofConfined()) {
- WritableMemory wmem = WritableMemory.allocateDirect(arena, n * 8, 1,
ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory wmem = WritableMemory.allocateDirect(n * 8, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
WritableBuffer wbuf = wmem.asWritableBuffer();
for (int i = 0; i < n; i++) {
wbuf.putLong(i);
@@ -285,7 +285,7 @@ public class BufferTest {
public void checkParentUseAfterFree() throws Exception {
int bytes = 64 * 8;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory wmem = WritableMemory.allocateDirect(arena, bytes, 1,
ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory wmem = WritableMemory.allocateDirect(bytes, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
WritableBuffer wbuf = wmem.asWritableBuffer();
wmem.close();
//with -ea assert: Memory not alive.
@@ -298,7 +298,7 @@ public class BufferTest {
public void checkRegionUseAfterFree() throws Exception {
int bytes = 64;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory wmem = WritableMemory.allocateDirect(arena, bytes, 1,
ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory wmem = WritableMemory.allocateDirect(bytes, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
Buffer region = wmem.asBuffer().region();
wmem.close();
//with -ea assert: Memory not alive.
@@ -310,7 +310,7 @@ public class BufferTest {
@Test
public void checkCheckNotAliveAfterTWR() {
Buffer buf;
- try (WritableMemory wmem =
WritableMemory.allocateDirect(Arena.ofConfined(), 100)) {
+ try (WritableMemory wmem = WritableMemory.allocateDirect(100,
Arena.ofConfined())) {
buf = wmem.asBuffer();
}
try {
diff --git
a/src/test/java/org/apache/datasketches/memory/internal/CommonBufferTest.java
b/src/test/java/org/apache/datasketches/memory/internal/CommonBufferTest.java
index 69d61bb..02fbf50 100644
---
a/src/test/java/org/apache/datasketches/memory/internal/CommonBufferTest.java
+++
b/src/test/java/org/apache/datasketches/memory/internal/CommonBufferTest.java
@@ -36,7 +36,7 @@ public class CommonBufferTest {
public void checkSetGet() throws Exception {
int memCapacity = 60; //must be at least 60
try (Arena arena = Arena.ofConfined()) {
- WritableMemory mem = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory mem = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
WritableBuffer buf = mem.asWritableBuffer();
assertEquals(buf.getCapacity(), memCapacity);
setGetTests(buf);
@@ -138,7 +138,7 @@ public class CommonBufferTest {
public void checkSetGetArrays() throws Exception {
int memCapacity = 32;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory mem = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory mem = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
WritableBuffer buf = mem.asWritableBuffer();
assertEquals(buf.getCapacity(), memCapacity);
setGetArraysTests(buf);
@@ -223,7 +223,7 @@ public class CommonBufferTest {
public void checkSetGetPartialArraysWithOffset() throws Exception {
int memCapacity = 32;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory mem = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory mem = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
WritableBuffer buf = mem.asWritableBuffer();
assertEquals(buf.getCapacity(), memCapacity);
setGetPartialArraysWithOffsetTests(buf);
@@ -308,7 +308,7 @@ public class CommonBufferTest {
public void checkSetClearMemoryRegions() throws Exception {
int memCapacity = 64; //must be 64
try (Arena arena = Arena.ofConfined()) {
- WritableMemory mem = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory mem = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
WritableBuffer buf = mem.asWritableBuffer();
assertEquals(buf.getCapacity(), memCapacity);
@@ -397,7 +397,7 @@ public class CommonBufferTest {
public void checkToHexStringAllMem() throws Exception {
int memCapacity = 48; //must be 48
try (Arena arena = Arena.ofConfined()) {
- WritableMemory mem = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory mem = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
WritableBuffer buf = mem.asWritableBuffer();
assertEquals(buf.getCapacity(), memCapacity);
toHexStringAllMemTests(buf); //requires println enabled to visually check
diff --git
a/src/test/java/org/apache/datasketches/memory/internal/CommonMemoryTest.java
b/src/test/java/org/apache/datasketches/memory/internal/CommonMemoryTest.java
index 50c8bb5..07a696f 100644
---
a/src/test/java/org/apache/datasketches/memory/internal/CommonMemoryTest.java
+++
b/src/test/java/org/apache/datasketches/memory/internal/CommonMemoryTest.java
@@ -41,7 +41,7 @@ public class CommonMemoryTest {
public void checkSetGet() throws Exception {
int memCapacity = 16; //must be at least 8
try (Arena arena = Arena.ofConfined()) {
- WritableMemory mem = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory mem = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
assertEquals(mem.getCapacity(), memCapacity);
setGetTests(mem);
}
@@ -93,7 +93,7 @@ public class CommonMemoryTest {
public void checkSetGetArrays() throws Exception {
int memCapacity = 32;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory mem = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory mem = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
assertEquals(memCapacity, mem.getCapacity());
setGetArraysTests(mem);
}
@@ -163,7 +163,7 @@ public class CommonMemoryTest {
public void checkSetGetPartialArraysWithOffset() throws Exception {
int memCapacity = 32;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory mem = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory mem = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
assertEquals(memCapacity, mem.getCapacity());
setGetPartialArraysWithOffsetTests(mem);
}
@@ -233,7 +233,7 @@ public class CommonMemoryTest {
public void checkSetClearIsBits() throws Exception {
int memCapacity = 8;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory mem = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory mem = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
assertEquals(memCapacity, mem.getCapacity());
mem.clear();
setClearIsBitsTests(mem);
@@ -274,7 +274,7 @@ public class CommonMemoryTest {
public void checkSetClearMemoryRegions() throws Exception {
int memCapacity = 64; //must be 64
try (Arena arena = Arena.ofConfined()) {
- WritableMemory mem = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory mem = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
setClearMemoryRegionsTests(mem); //requires println enabled to visually
check
for (int i = 0; i < memCapacity; i++) {
@@ -345,7 +345,7 @@ public class CommonMemoryTest {
public void checkToHexStringAllMem() throws Exception {
int memCapacity = 48; //must be 48
try (Arena arena = Arena.ofConfined()) {
- WritableMemory mem = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory mem = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
toHexStringAllMemTests(mem); //requires println enabled to visually check
}
}
diff --git
a/src/test/java/org/apache/datasketches/memory/internal/CopyMemoryOverlapTest.java
b/src/test/java/org/apache/datasketches/memory/internal/CopyMemoryOverlapTest.java
index a8f3e28..b278f0b 100644
---
a/src/test/java/org/apache/datasketches/memory/internal/CopyMemoryOverlapTest.java
+++
b/src/test/java/org/apache/datasketches/memory/internal/CopyMemoryOverlapTest.java
@@ -98,7 +98,7 @@ public class CopyMemoryOverlapTest {
println("Backing longs: " + backingLongs + "\t bytes: " + backingBytes);
try (Arena arena = Arena.ofConfined()) {
- WritableMemory backingMem = WritableMemory.allocateDirect(arena,
backingBytes, 1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory backingMem = WritableMemory.allocateDirect(backingBytes,
1, ByteOrder.nativeOrder(), memReqSvr, arena);
fill(backingMem); //fill mem with 0 thru copyLongs -1
//listMem(backingMem, "Original");
backingMem.copyTo(fromOffsetBytes, backingMem, toOffsetBytes, copyBytes);
@@ -138,7 +138,7 @@ public class CopyMemoryOverlapTest {
println("Backing longs: " + backingLongs + "\t bytes: " + backingBytes);
try (Arena arena = Arena.ofConfined()) {
- WritableMemory backingMem = WritableMemory.allocateDirect(arena,
backingBytes, 1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory backingMem = WritableMemory.allocateDirect(backingBytes,
1, ByteOrder.nativeOrder(), memReqSvr, arena);
fill(backingMem); //fill mem with 0 thru copyLongs -1
//listMem(backingMem, "Original");
WritableMemory reg1 = backingMem.writableRegion(fromOffsetBytes,
copyBytes);
diff --git
a/src/test/java/org/apache/datasketches/memory/internal/CopyMemoryTest.java
b/src/test/java/org/apache/datasketches/memory/internal/CopyMemoryTest.java
index ef39a9b..f50cabe 100644
--- a/src/test/java/org/apache/datasketches/memory/internal/CopyMemoryTest.java
+++ b/src/test/java/org/apache/datasketches/memory/internal/CopyMemoryTest.java
@@ -149,7 +149,7 @@ public class CopyMemoryTest {
}
private static WritableMemory genWmem(int longs, boolean empty) {
- WritableMemory wmem = WritableMemory.allocateDirect(Arena.ofConfined(),
longs << 3, 1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory wmem = WritableMemory.allocateDirect(longs << 3, 1,
ByteOrder.nativeOrder(), memReqSvr, Arena.ofConfined());
if (empty) {
wmem.clear();
} else {
diff --git
a/src/test/java/org/apache/datasketches/memory/internal/ExampleMemoryRequestServerTest.java
b/src/test/java/org/apache/datasketches/memory/internal/ExampleMemoryRequestServerTest.java
index 560803f..08a7e76 100644
---
a/src/test/java/org/apache/datasketches/memory/internal/ExampleMemoryRequestServerTest.java
+++
b/src/test/java/org/apache/datasketches/memory/internal/ExampleMemoryRequestServerTest.java
@@ -53,11 +53,11 @@ public class ExampleMemoryRequestServerTest {
//Create the initial working memory for the client
WritableMemory workingMem = WritableMemory.allocateDirect(
- arena,
workingMemBytes,
alignmentBytes,
ByteOrder.nativeOrder(),
- memReqSvr);
+ memReqSvr,
+ arena);
MemoryHungryClient client = new MemoryHungryClient(workingMem);
client.process();
diff --git
a/src/test/java/org/apache/datasketches/memory/internal/IgnoredArrayOverflowTest.java
b/src/test/java/org/apache/datasketches/memory/internal/IgnoredArrayOverflowTest.java
index d94cb8a..4cdb736 100644
---
a/src/test/java/org/apache/datasketches/memory/internal/IgnoredArrayOverflowTest.java
+++
b/src/test/java/org/apache/datasketches/memory/internal/IgnoredArrayOverflowTest.java
@@ -33,11 +33,11 @@ public class IgnoredArrayOverflowTest {
private static final MemoryRequestServer memReqSvr =
Resource.defaultMemReqSvr;
private WritableMemory memory;
- private static final long MAX_SIZE = (1L << 10); // use 1L << 31 to test int
overrange
+ private static final long MAX_SIZE = (1L << 10); // use 1L << 31 to test int
over range
@BeforeClass
public void allocate() {
- memory = WritableMemory.allocateDirect(Arena.ofConfined(), MAX_SIZE, 8L,
ByteOrder.nativeOrder(), memReqSvr);
+ memory = WritableMemory.allocateDirect(MAX_SIZE, 8L,
ByteOrder.nativeOrder(), memReqSvr, Arena.ofConfined());
}
@AfterClass
diff --git
a/src/test/java/org/apache/datasketches/memory/internal/InvalidAllocationTest.java
b/src/test/java/org/apache/datasketches/memory/internal/InvalidAllocationTest.java
index f63fc87..f2630ca 100644
---
a/src/test/java/org/apache/datasketches/memory/internal/InvalidAllocationTest.java
+++
b/src/test/java/org/apache/datasketches/memory/internal/InvalidAllocationTest.java
@@ -49,7 +49,7 @@ public class InvalidAllocationTest {
mem3.region(0, 0);
WritableMemory nullMem = null;
try (Arena arena = Arena.ofConfined()) { //Invalid allocation size : -1
- nullMem = WritableMemory.allocateDirect(arena, -1, 1,
ByteOrder.nativeOrder(), memReqSvr);
+ nullMem = WritableMemory.allocateDirect(-1, 1, ByteOrder.nativeOrder(),
memReqSvr, arena);
Assert.fail();
} catch (IllegalArgumentException ignore) {
if (nullMem != null) {
@@ -70,7 +70,7 @@ public class InvalidAllocationTest {
mem3.region(0, 0);
WritableMemory nullMem = null;
try (Arena arena = Arena.ofConfined()) { //Invalid alignment : 3
- nullMem = WritableMemory.allocateDirect(arena, 0, 3,
ByteOrder.nativeOrder(), memReqSvr);
+ nullMem = WritableMemory.allocateDirect(0, 3, ByteOrder.nativeOrder(),
memReqSvr, arena);
Assert.fail();
} catch (IllegalArgumentException ignore) {
if (nullMem != null) {
diff --git
a/src/test/java/org/apache/datasketches/memory/internal/LeafImplTest.java
b/src/test/java/org/apache/datasketches/memory/internal/LeafImplTest.java
index 88bbf41..bc65914 100644
--- a/src/test/java/org/apache/datasketches/memory/internal/LeafImplTest.java
+++ b/src/test/java/org/apache/datasketches/memory/internal/LeafImplTest.java
@@ -54,14 +54,14 @@ public class LeafImplTest {
long cap = 128;
// Off Heap, Native order, No ByteBuffer, has MemReqSvr
try (Arena arena = Arena.ofConfined()) {
- WritableMemory memNO = WritableMemory.allocateDirect(arena, cap, 8, NBO,
myMemReqSvr);
+ WritableMemory memNO = WritableMemory.allocateDirect(cap, 8, NBO,
myMemReqSvr, arena);
memNO.putShort(0, (short) 1);
assertTrue(memNO.isDirect());
checkCombinations(memNO, off, cap, memNO.isDirect(), NBO, false, true);
}
// Off Heap, Non Native order, No ByteBuffer, has MemReqSvr
try (Arena arena = Arena.ofConfined()) {
- WritableMemory memNNO = WritableMemory.allocateDirect(arena, cap, 8,
NNBO, myMemReqSvr);
+ WritableMemory memNNO = WritableMemory.allocateDirect(cap, 8, NNBO,
myMemReqSvr, arena);
memNNO.putShort(0, (short) 1);
assertTrue(memNNO.isDirect());
checkCombinations(memNNO, off, cap, memNNO.isDirect(), NNBO, false,
true);
diff --git
a/src/test/java/org/apache/datasketches/memory/internal/MemoryReadWriteSafetyTest.java
b/src/test/java/org/apache/datasketches/memory/internal/MemoryReadWriteSafetyTest.java
index 1e2b1f8..db9021e 100644
---
a/src/test/java/org/apache/datasketches/memory/internal/MemoryReadWriteSafetyTest.java
+++
b/src/test/java/org/apache/datasketches/memory/internal/MemoryReadWriteSafetyTest.java
@@ -196,7 +196,7 @@ public class MemoryReadWriteSafetyTest {
raf.setLength(8);
//System.out.println(UtilTest.getFileAttributes(tempFile));
try (Arena arena = Arena.ofConfined();
- Memory memory = Memory.map(arena, tempFile)) {
+ Memory memory = Memory.map(tempFile, arena)) {
((WritableMemory) memory).putInt(0, 1);
}
@@ -210,7 +210,7 @@ public class MemoryReadWriteSafetyTest {
tempFile.deleteOnExit();
new RandomAccessFile(tempFile, "rw").setLength(8);
try (Arena arena = Arena.ofConfined()) {
- Memory memory = Memory.map(arena, tempFile, 0, 4,
ByteOrder.nativeOrder());
+ Memory memory = Memory.map(tempFile, 0, 4, ByteOrder.nativeOrder(),
arena);
((WritableMemory) memory).putInt(0, 1);
}
}
@@ -222,7 +222,7 @@ public class MemoryReadWriteSafetyTest {
try (RandomAccessFile raf = new RandomAccessFile(tempFile, "rw")) {
raf.setLength(8);
try (Arena arena = Arena.ofConfined()) {
- Memory.map(arena, tempFile, 0, 16, ByteOrder.nativeOrder());
+ Memory.map(tempFile, 0, 16, ByteOrder.nativeOrder(), arena);
}
}
}
diff --git
a/src/test/java/org/apache/datasketches/memory/internal/MemoryTest.java
b/src/test/java/org/apache/datasketches/memory/internal/MemoryTest.java
index 350030a..23fd593 100644
--- a/src/test/java/org/apache/datasketches/memory/internal/MemoryTest.java
+++ b/src/test/java/org/apache/datasketches/memory/internal/MemoryTest.java
@@ -59,7 +59,7 @@ public class MemoryTest {
public void checkDirectRoundTrip() throws Exception {
int n = 1024; //longs
try (Arena arena = Arena.ofConfined()) {
- WritableMemory mem = WritableMemory.allocateDirect(arena, n * 8, 1,
ByteOrder.nativeOrder(), myMemReqSvr);
+ WritableMemory mem = WritableMemory.allocateDirect(n * 8, 1,
ByteOrder.nativeOrder(), myMemReqSvr, arena);
for (int i = 0; i < n; i++) {
mem.putLong(i * 8, i);
}
@@ -355,7 +355,7 @@ public class MemoryTest {
public void checkParentUseAfterFree() throws Exception {
int bytes = 64 * 8;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory wmem = WritableMemory.allocateDirect(arena, bytes, 1,
ByteOrder.nativeOrder(), myMemReqSvr);
+ WritableMemory wmem = WritableMemory.allocateDirect(bytes, 1,
ByteOrder.nativeOrder(), myMemReqSvr, arena);
wmem.close();
wmem.getLong(0); //Already closed
}
@@ -365,7 +365,7 @@ public class MemoryTest {
public void checkRegionUseAfterFree() throws Exception {
int bytes = 64;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory wmem = WritableMemory.allocateDirect(arena, bytes, 1,
ByteOrder.nativeOrder(), myMemReqSvr);
+ WritableMemory wmem = WritableMemory.allocateDirect(bytes, 1,
ByteOrder.nativeOrder(), myMemReqSvr, arena);
Memory region = wmem.region(0L, bytes);
wmem.close();
region.getByte(0); //Already closed.
@@ -384,7 +384,7 @@ public class MemoryTest {
wbuf = wmem.asWritableBuffer();
assertNull(wbuf.getMemoryRequestServer());
//OFF HEAP
- wmem = WritableMemory.allocateDirect(arena, 16, 1,
ByteOrder.nativeOrder(), myMemReqSvr); //OFF HEAP
+ wmem = WritableMemory.allocateDirect(16, 1, ByteOrder.nativeOrder(),
myMemReqSvr, arena); //OFF HEAP
assertNotNull(wmem.getMemoryRequestServer());
wbuf = wmem.asWritableBuffer();
assertNotNull(wbuf.getMemoryRequestServer());
@@ -404,7 +404,7 @@ public class MemoryTest {
wbuf = wmem.asWritableBuffer();
assertNotNull(wbuf.getMemoryRequestServer());
//OFF HEAP
- WritableMemory wmem2 = WritableMemory.allocateDirect(arena, 16, 1,
ByteOrder.nativeOrder(), myMemReqSvr);
+ WritableMemory wmem2 = WritableMemory.allocateDirect(16, 1,
ByteOrder.nativeOrder(), myMemReqSvr, arena);
assertNotNull(wmem2.getMemoryRequestServer());
wbuf = wmem.asWritableBuffer();
assertNotNull(wbuf.getMemoryRequestServer());
diff --git
a/src/test/java/org/apache/datasketches/memory/internal/MemoryWriteToTest.java
b/src/test/java/org/apache/datasketches/memory/internal/MemoryWriteToTest.java
index 2997647..c719277 100644
---
a/src/test/java/org/apache/datasketches/memory/internal/MemoryWriteToTest.java
+++
b/src/test/java/org/apache/datasketches/memory/internal/MemoryWriteToTest.java
@@ -60,7 +60,7 @@ public class MemoryWriteToTest {
@Test
public void testOffHeap() throws Exception {
try (Arena arena = Arena.ofConfined()) {
- WritableMemory mem = WritableMemory.allocateDirect(arena, ((1 << 20) *
5) + 10, 1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory mem = WritableMemory.allocateDirect(((1 << 20) * 5) + 10,
1, ByteOrder.nativeOrder(), memReqSvr, arena);
testWriteTo(mem.region(0, 0));
testOffHeap(mem, 7);
testOffHeap(mem, 1023);
diff --git
a/src/test/java/org/apache/datasketches/memory/internal/MurmurHash3v3Test.java
b/src/test/java/org/apache/datasketches/memory/internal/MurmurHash3v3Test.java
index db48e86..8b8734d 100644
---
a/src/test/java/org/apache/datasketches/memory/internal/MurmurHash3v3Test.java
+++
b/src/test/java/org/apache/datasketches/memory/internal/MurmurHash3v3Test.java
@@ -276,7 +276,7 @@ public class MurmurHash3v3Test {
out = hash(mem, 0L, 4L, 1L, out);
} catch (final IllegalArgumentException e) { }
try (Arena arena = Arena.ofConfined()) {
- Memory mem = WritableMemory.allocateDirect(arena, 8, 1,
ByteOrder.nativeOrder(), memReqSvr);
+ Memory mem = WritableMemory.allocateDirect(8, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
long[] out = new long[2];
out = hash(mem, 0L, 4L, 1L, out);
} catch (Exception ee) {}
diff --git
a/src/test/java/org/apache/datasketches/memory/internal/NativeWritableBufferImplTest.java
b/src/test/java/org/apache/datasketches/memory/internal/NativeWritableBufferImplTest.java
index 19101c5..a783d9c 100644
---
a/src/test/java/org/apache/datasketches/memory/internal/NativeWritableBufferImplTest.java
+++
b/src/test/java/org/apache/datasketches/memory/internal/NativeWritableBufferImplTest.java
@@ -46,7 +46,7 @@ public class NativeWritableBufferImplTest {
@Test
public void checkNativeCapacityAndClose() throws Exception {
int memCapacity = 64;
- WritableMemory wmem = WritableMemory.allocateDirect(Arena.ofConfined(),
memCapacity, 1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory wmem = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, Arena.ofConfined());
WritableBuffer wbuf = wmem.asWritableBuffer();
assertEquals(wbuf.getCapacity(), memCapacity);
@@ -187,7 +187,7 @@ public class NativeWritableBufferImplTest {
public void checkNativeBaseBound() throws Exception {
int memCapacity = 64;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory wmem = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory wmem = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
WritableBuffer wbuf = wmem.asWritableBuffer();
wbuf.toString("Force Assertion Error", memCapacity, 8, false);
} catch (IllegalArgumentException e) {
@@ -199,7 +199,7 @@ public class NativeWritableBufferImplTest {
public void checkNativeSrcArrayBound() throws Exception {
long memCapacity = 64;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory wmem = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory wmem = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
WritableBuffer wbuf = wmem.asWritableBuffer();
byte[] srcArray = { 1, -2, 3, -4 };
wbuf.putByteArray(srcArray, 0, 5); //wrong!
@@ -212,7 +212,7 @@ public class NativeWritableBufferImplTest {
public void checkRegionBounds() throws Exception {
int memCapacity = 64;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory wmem = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory wmem = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
WritableBuffer wbuf = wmem.asWritableBuffer();
wbuf.writableRegion(1, 64, wbuf.getTypeByteOrder()); //wrong!
}
@@ -327,7 +327,7 @@ public class NativeWritableBufferImplTest {
WritableBuffer mem =
WritableMemory.allocate(memCapacity).asWritableBuffer();
assertFalse(mem.isDirect());
try (Arena arena = Arena.ofConfined()) {
- WritableMemory wmem = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory wmem = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
WritableBuffer wbuf = wmem.asWritableBuffer();
assertTrue(wbuf.isDirect());
}
@@ -382,9 +382,9 @@ public class NativeWritableBufferImplTest {
byte[] arr2 = new byte[] {0, 1, 2, 4};
byte[] arr3 = new byte[] {0, 1, 2, 3, 4};
try (Arena arena = Arena.ofConfined()) {
- WritableMemory mem1 = WritableMemory.allocateDirect(arena, 4, 1,
ByteOrder.nativeOrder(), memReqSvr);
- WritableMemory mem2 = WritableMemory.allocateDirect(arena, 4, 1,
ByteOrder.nativeOrder(), memReqSvr);
- WritableMemory mem3 = WritableMemory.allocateDirect(arena, 5, 1,
ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory mem1 = WritableMemory.allocateDirect(4, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
+ WritableMemory mem2 = WritableMemory.allocateDirect(4, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
+ WritableMemory mem3 = WritableMemory.allocateDirect(5, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
mem1.putByteArray(0, arr1, 0, 4);
mem2.putByteArray(0, arr2, 0, 4);
diff --git
a/src/test/java/org/apache/datasketches/memory/internal/NativeWritableMemoryImplTest.java
b/src/test/java/org/apache/datasketches/memory/internal/NativeWritableMemoryImplTest.java
index 56352ae..39ae895 100644
---
a/src/test/java/org/apache/datasketches/memory/internal/NativeWritableMemoryImplTest.java
+++
b/src/test/java/org/apache/datasketches/memory/internal/NativeWritableMemoryImplTest.java
@@ -46,11 +46,11 @@ public class NativeWritableMemoryImplTest {
public void checkNativeCapacityAndClose() throws Exception {
int memCapacity = 64;
WritableMemory wmem = WritableMemory.allocateDirect(
- Arena.ofConfined(),
memCapacity,
1,
ByteOrder.nativeOrder(),
- memReqSvr);
+ memReqSvr,
+ Arena.ofConfined());
assertEquals(memCapacity, wmem.getCapacity());
wmem.close();
@@ -190,7 +190,7 @@ public class NativeWritableMemoryImplTest {
public void checkNativeBaseBound() throws Exception {
int memCapacity = 64;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory wmem = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory wmem = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
wmem.toString("Force Assertion Error", memCapacity, 8, false);
} catch (IllegalArgumentException e) {
//ok
@@ -201,7 +201,7 @@ public class NativeWritableMemoryImplTest {
public void checkNativeSrcArrayBound() throws Exception {
long memCapacity = 64;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory wmem = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory wmem = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
byte[] srcArray = { 1, -2, 3, -4 };
wmem.putByteArray(0L, srcArray, 0, 5);
} catch (IndexOutOfBoundsException e) {
@@ -222,7 +222,7 @@ public class NativeWritableMemoryImplTest {
int memCapacity = 64;
int half = memCapacity/2;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory wmem = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory wmem = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
wmem.clear();
for (int i=0; i<half; i++) { //fill first half
@@ -244,7 +244,7 @@ public class NativeWritableMemoryImplTest {
int halfBytes = memCapacity / 2;
int halfLongs = memCapLongs / 2;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory wmem = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory wmem = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
wmem.clear();
for (int i=0; i < halfLongs; i++) {
@@ -263,7 +263,7 @@ public class NativeWritableMemoryImplTest {
public void checkCopyWithinNativeSrcBound() throws Exception {
int memCapacity = 64;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory wmem = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory wmem = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
wmem.copyTo(32, wmem, 32, 33); //hit source bound check
fail("Did Not Catch Assertion Error: source bound");
}
@@ -276,7 +276,7 @@ public class NativeWritableMemoryImplTest {
public void checkCopyWithinNativeDstBound() throws Exception {
int memCapacity = 64;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory wmem = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory wmem = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
wmem.copyTo(0, wmem, 32, 33); //hit dst bound check
fail("Did Not Catch Assertion Error: dst bound");
}
@@ -290,8 +290,8 @@ public class NativeWritableMemoryImplTest {
int memCapacity = 64;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory wmem1 = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
- WritableMemory wmem2 = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory wmem1 = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
+ WritableMemory wmem2 = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
for (int i=0; i < memCapacity; i++) {
wmem1.putByte(i, (byte) i);
@@ -311,8 +311,8 @@ public class NativeWritableMemoryImplTest {
int memCapLongs = memCapacity / 8;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory wmem1 = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
- WritableMemory wmem2 = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory wmem1 = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
+ WritableMemory wmem2 = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
for (int i=0; i < memCapLongs; i++) {
wmem1.putLong(i*8, i);
@@ -331,7 +331,7 @@ public class NativeWritableMemoryImplTest {
public void checkCopyCrossNativeAndByteArray() throws Exception {
int memCapacity = 64;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory wmem = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory wmem = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
for (int i= 0; i < wmem.getCapacity(); i++) {
wmem.putByte(i, (byte) i);
@@ -352,7 +352,7 @@ public class NativeWritableMemoryImplTest {
int memCapacity = 128;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory wmem1 = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory wmem1 = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
for (int i= 0; i < wmem1.getCapacity(); i++) {
wmem1.putByte(i, (byte) i);
@@ -378,7 +378,7 @@ public class NativeWritableMemoryImplTest {
public void checkCopyCrossNativeArrayAndHierarchicalRegions() throws
Exception {
int memCapacity = 64;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory wmem1 = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory wmem1 = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
for (int i= 0; i < wmem1.getCapacity(); i++) { //fill with numbers
wmem1.putByte(i, (byte) i);
@@ -408,7 +408,7 @@ public class NativeWritableMemoryImplTest {
public void checkRegionBounds() throws Exception {
int memCapacity = 64;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory wmem = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory wmem = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
wmem.writableRegion(1, 64);
}
}
@@ -520,7 +520,7 @@ public class NativeWritableMemoryImplTest {
try (Arena arena = Arena.ofConfined()) {
WritableMemory mem = WritableMemory.allocate(memCapacity);
assertFalse(mem.isDirect());
- WritableMemory wmem = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory wmem = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
assertTrue(wmem.isDirect());
}
}
@@ -581,9 +581,9 @@ public class NativeWritableMemoryImplTest {
byte[] arr3 = new byte[] {0, 1, 2, 3, 4};
try (Arena arena = Arena.ofConfined()) {
- WritableMemory mem1 = WritableMemory.allocateDirect(arena, 4, 1,
ByteOrder.nativeOrder(), memReqSvr);
- WritableMemory mem2 = WritableMemory.allocateDirect(arena, 4, 1,
ByteOrder.nativeOrder(), memReqSvr);
- WritableMemory mem3 = WritableMemory.allocateDirect(arena, 5, 1,
ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory mem1 = WritableMemory.allocateDirect(4, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
+ WritableMemory mem2 = WritableMemory.allocateDirect(4, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
+ WritableMemory mem3 = WritableMemory.allocateDirect(5, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
mem1.putByteArray(0, arr1, 0, 4);
mem2.putByteArray(0, arr2, 0, 4);
diff --git
a/src/test/java/org/apache/datasketches/memory/internal/SpecificLeafTest.java
b/src/test/java/org/apache/datasketches/memory/internal/SpecificLeafTest.java
index fa885e7..efb4d5e 100644
---
a/src/test/java/org/apache/datasketches/memory/internal/SpecificLeafTest.java
+++
b/src/test/java/org/apache/datasketches/memory/internal/SpecificLeafTest.java
@@ -76,7 +76,7 @@ public class SpecificLeafTest {
public void checkDirectLeafs() throws Exception {
int bytes = 128;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory wmem = WritableMemory.allocateDirect(arena, bytes, 1,
ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory wmem = WritableMemory.allocateDirect(bytes, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
assertFalse(((ResourceImpl)wmem).isReadOnly());
assertTrue(wmem.isDirect());
assertFalse(wmem.isHeap());
diff --git
a/src/test/java/org/apache/datasketches/memory/internal/WritableDirectCopyTest.java
b/src/test/java/org/apache/datasketches/memory/internal/WritableDirectCopyTest.java
index c39c6d1..2af3cc5 100644
---
a/src/test/java/org/apache/datasketches/memory/internal/WritableDirectCopyTest.java
+++
b/src/test/java/org/apache/datasketches/memory/internal/WritableDirectCopyTest.java
@@ -44,7 +44,7 @@ public class WritableDirectCopyTest {
int memCapacity = 64;
int half = memCapacity / 2;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory mem = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory mem = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
mem.clear();
for (int i = 0; i < half; i++) { //fill first half
@@ -66,7 +66,7 @@ public class WritableDirectCopyTest {
int halfBytes = memCapacity / 2;
int halfLongs = memCapLongs / 2;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory mem = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory mem = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
mem.clear();
for (int i = 0; i < halfLongs; i++) {
@@ -85,7 +85,7 @@ public class WritableDirectCopyTest {
public void checkCopyWithinNativeOverlap() throws Exception {
int memCapacity = 64;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory mem = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory mem = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
mem.clear();
//println(mem.toHexString("Clear 64", 0, memCapacity));
@@ -101,7 +101,7 @@ public class WritableDirectCopyTest {
public void checkCopyWithinNativeSrcBound() throws Exception {
int memCapacity = 64;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory mem = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory mem = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
mem.copyTo(32, mem, 32, 33); //hit source bound check
fail("Did Not Catch Assertion Error: source bound");
} catch (IndexOutOfBoundsException e) {
@@ -113,7 +113,7 @@ public class WritableDirectCopyTest {
public void checkCopyWithinNativeDstBound() throws Exception {
int memCapacity = 64;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory mem = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory mem = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
mem.copyTo(0, mem, 32, 33); //hit dst bound check
fail("Did Not Catch Assertion Error: dst bound");
} catch (IndexOutOfBoundsException e) {
@@ -126,8 +126,8 @@ public class WritableDirectCopyTest {
int memCapacity = 64;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory mem1 = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
- WritableMemory mem2 = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory mem1 = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
+ WritableMemory mem2 = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
for (int i = 0; i < memCapacity; i++) {
mem1.putByte(i, (byte) i);
@@ -147,8 +147,8 @@ public class WritableDirectCopyTest {
int memCapLongs = memCapacity / 8;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory mem1 = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
- WritableMemory mem2 = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory mem1 = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
+ WritableMemory mem2 = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
for (int i = 0; i < memCapLongs; i++) {
mem1.putLong(i * 8, i);
@@ -167,7 +167,7 @@ public class WritableDirectCopyTest {
public void checkCopyCrossNativeAndByteArray() throws Exception {
int memCapacity = 64;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory mem1 = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory mem1 = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
for (int i = 0; i < mem1.getCapacity(); i++) {
mem1.putByte(i, (byte) i);
@@ -188,7 +188,7 @@ public class WritableDirectCopyTest {
int memCapacity = 128;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory mem1 = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory mem1 = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
for (int i = 0; i < mem1.getCapacity(); i++) {
mem1.putByte(i, (byte) i);
@@ -214,7 +214,7 @@ public class WritableDirectCopyTest {
public void checkCopyCrossNativeArrayAndHierarchicalRegions() throws
Exception {
int memCapacity = 64;
try (Arena arena = Arena.ofConfined()) {
- WritableMemory mem1 = WritableMemory.allocateDirect(arena, memCapacity,
1, ByteOrder.nativeOrder(), memReqSvr);
+ WritableMemory mem1 = WritableMemory.allocateDirect(memCapacity, 1,
ByteOrder.nativeOrder(), memReqSvr, arena);
for (int i = 0; i < mem1.getCapacity(); i++) { //fill with numbers
mem1.putByte(i, (byte) i);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]