This is an automated email from the ASF dual-hosted git repository.

leerho pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/datasketches-memory16.git


The following commit(s) were added to refs/heads/master by this push:
     new 9d2798b  Update
9d2798b is described below

commit 9d2798b16b5abd679587eef7e602602d8d02b90c
Author: Lee Rhodes <[email protected]>
AuthorDate: Wed Mar 24 16:09:29 2021 -0700

    Update
---
 .gitignore                                         |  1 +
 src/main/java/module-info.java                     |  4 +--
 .../{memory => memseg}/AllocateDirect.java         | 33 +++++++++-------------
 .../apache/datasketches/memseg/package-info.java}  |  7 +----
 .../{memory => memseg}/AllocateDirectTest.java     | 28 ++++++++++--------
 tools/MemoryCheckstyle.xml                         |  2 +-
 6 files changed, 34 insertions(+), 41 deletions(-)

diff --git a/.gitignore b/.gitignore
index f617d02..9ec3e63 100644
--- a/.gitignore
+++ b/.gitignore
@@ -63,3 +63,4 @@ build.xml
 _site/
 _*
 _*/
+deps/
diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java
index dcee60c..4ef5f68 100644
--- a/src/main/java/module-info.java
+++ b/src/main/java/module-info.java
@@ -22,7 +22,7 @@
  * @author lrhodes
  *
  */
-module org.apache.datasketches.memory {
+module org.apache.datasketches.memseg {
   requires jdk.incubator.foreign;
-  exports org.apache.datasketches.memory;
+  exports org.apache.datasketches.memseg;
 }
diff --git a/src/main/java/org/apache/datasketches/memory/AllocateDirect.java 
b/src/main/java/org/apache/datasketches/memseg/AllocateDirect.java
similarity index 65%
rename from src/main/java/org/apache/datasketches/memory/AllocateDirect.java
rename to src/main/java/org/apache/datasketches/memseg/AllocateDirect.java
index ab564d0..d4a744c 100644
--- a/src/main/java/org/apache/datasketches/memory/AllocateDirect.java
+++ b/src/main/java/org/apache/datasketches/memseg/AllocateDirect.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.datasketches.memory;
+package org.apache.datasketches.memseg;
 
 //import jdk.incubator.foreign.MemoryAddress;
 import jdk.incubator.foreign.MemorySegment;
@@ -28,15 +28,19 @@ import jdk.incubator.foreign.MemorySegment;
  *
  * @author Lee Rhodes
  */
-class AllocateDirect {
+final class AllocateDirect implements AutoCloseable {
   private final MemorySegment directSeg;
 
   /**
-   * Construct Memory Segment
-   * @param capacityBytes blah
+   * Base Constructor for allocate native memory.
+   *
+   * <p>Allocates and provides access to capacityBytes directly in native 
(off-heap) memory
+   * leveraging the Memory interface.
+   * The allocated memory will be 8-byte aligned, but may not be page aligned.
+   * @param capacityBytes the the requested capacity of off-heap memory. 
Cannot be zero.
    */
   AllocateDirect(final long capacityBytes) {
-    directSeg = MemorySegment.allocateNative(capacityBytes);
+    directSeg = MemorySegment.allocateNative(capacityBytes, 8);
   }
 
   MemorySegment getMemorySegment() {
@@ -47,23 +51,12 @@ class AllocateDirect {
     return directSeg.address().toRawLongValue();
   }
 
-  void close() {
+  @Override
+  public void close() {
     directSeg.close();
   }
+  
+  
 
-  @SuppressWarnings("resource")
-  public static void checkAllocDirect() {
-    final long bytesIn = 64;
-    AllocateDirect allocateDirect = new AllocateDirect(bytesIn);
-    final MemorySegment seg = allocateDirect.getMemorySegment();
-    final long bytesOut = seg.byteSize();
-    String out = (bytesOut == bytesIn) ? "OK" : "Not OK";
-    System.out.println(out);
-    allocateDirect.close();
-  }
-
-  public static void main(final String[] args) {
-    checkAllocDirect();
-  }
 }
 
diff --git a/src/main/java/module-info.java 
b/src/main/java/org/apache/datasketches/memseg/package-info.java
similarity index 85%
copy from src/main/java/module-info.java
copy to src/main/java/org/apache/datasketches/memseg/package-info.java
index dcee60c..4faf9db 100644
--- a/src/main/java/module-info.java
+++ b/src/main/java/org/apache/datasketches/memseg/package-info.java
@@ -18,11 +18,6 @@
  */
 
 /**
- * Preliminary module
  * @author lrhodes
- *
  */
-module org.apache.datasketches.memory {
-  requires jdk.incubator.foreign;
-  exports org.apache.datasketches.memory;
-}
+package org.apache.datasketches.memseg;
diff --git 
a/src/test/java/org/apache/datasketches/memory/AllocateDirectTest.java 
b/src/test/java/org/apache/datasketches/memseg/AllocateDirectTest.java
similarity index 68%
rename from src/test/java/org/apache/datasketches/memory/AllocateDirectTest.java
rename to src/test/java/org/apache/datasketches/memseg/AllocateDirectTest.java
index 1d03488..352dc4a 100644
--- a/src/test/java/org/apache/datasketches/memory/AllocateDirectTest.java
+++ b/src/test/java/org/apache/datasketches/memseg/AllocateDirectTest.java
@@ -17,11 +17,14 @@
  * under the License.
  */
 
-package org.apache.datasketches.memory;
+package org.apache.datasketches.memseg;
+
+import static org.testng.Assert.assertEquals;
 
-import jdk.incubator.foreign.MemorySegment;
 import org.testng.annotations.Test;
-//import static org.testng.Assert.assertEquals;
+
+import jdk.incubator.foreign.MemorySegment;
+
 
 
 /**
@@ -32,20 +35,21 @@ import org.testng.annotations.Test;
  */
 public class AllocateDirectTest {
 
-  /**
-   * check AllocDirect.
-   */
   @Test
   @SuppressWarnings("resource")
   public void checkAllocDirect() {
     final long bytesIn = 64;
-    AllocateDirect allocateDirect = new AllocateDirect(bytesIn);
-    final MemorySegment seg = allocateDirect.getMemorySegment();
-    final long bytesOut = seg.byteSize();
-    String out = (bytesOut == bytesIn) ? "OK" : "Not OK";
-    System.out.println(out);
-    allocateDirect.close();
+    try (AllocateDirect allocateDirect = new AllocateDirect(bytesIn)) {
+      final MemorySegment seg = allocateDirect.getMemorySegment();
+      final long bytesOut = seg.byteSize();
+      assertEquals(bytesOut, bytesIn);
+      String str = (bytesOut == bytesIn) ? "OK" : "Not OK";
+      println(str);
+      //allocateDirect.close(); //fast close
+    }
   }
 
+  
+  static void println(Object o) { System.out.println(o.toString()); }
 }
 
diff --git a/tools/MemoryCheckstyle.xml b/tools/MemoryCheckstyle.xml
index 3b80313..727ac63 100644
--- a/tools/MemoryCheckstyle.xml
+++ b/tools/MemoryCheckstyle.xml
@@ -126,7 +126,7 @@ under the License.
     <module name="JavadocParagraph"/>
     <module name="JavadocTagContinuationIndentation">
       <property name="severity" value="ignore"/>
-      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" 
value="inherit"/>
+      <!-- <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" 
value="inherit"/> -->
     </module>
     <module name="NonEmptyAtclauseDescription"/>
     <module name="SingleLineJavadoc">

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to