[jboss-cvs] JBoss Messaging SVN: r3701 - in projects/jaio/trunk/jaio/java: src/org/jboss/jaio/libaioimpl and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Feb 11 12:25:36 EST 2008
Author: clebert.suconic at jboss.com
Date: 2008-02-11 12:25:36 -0500 (Mon, 11 Feb 2008)
New Revision: 3701
Modified:
projects/jaio/trunk/jaio/java/src/org/jboss/jaio/api/AIOController.java
projects/jaio/trunk/jaio/java/src/org/jboss/jaio/api/AIOPackage.java
projects/jaio/trunk/jaio/java/src/org/jboss/jaio/libaioimpl/LibAIOController.java
projects/jaio/trunk/jaio/java/tests/org/jboss/jaio/libaioimpl/test/TestInit.java
Log:
Implementing flushMethods
Modified: projects/jaio/trunk/jaio/java/src/org/jboss/jaio/api/AIOController.java
===================================================================
--- projects/jaio/trunk/jaio/java/src/org/jboss/jaio/api/AIOController.java 2008-02-11 17:24:36 UTC (rev 3700)
+++ projects/jaio/trunk/jaio/java/src/org/jboss/jaio/api/AIOController.java 2008-02-11 17:25:36 UTC (rev 3701)
@@ -25,4 +25,7 @@
void recoverContent(AIORecoveryCallback callbackRecover);
+ /** This only flush any buffers into IO, it doesn't guarantee information on disk */
+ void flushMemory();
+
}
Modified: projects/jaio/trunk/jaio/java/src/org/jboss/jaio/api/AIOPackage.java
===================================================================
--- projects/jaio/trunk/jaio/java/src/org/jboss/jaio/api/AIOPackage.java 2008-02-11 17:24:36 UTC (rev 3700)
+++ projects/jaio/trunk/jaio/java/src/org/jboss/jaio/api/AIOPackage.java 2008-02-11 17:25:36 UTC (rev 3701)
@@ -11,9 +11,11 @@
*/
public interface AIOPackage
{
- int encodeSize(int size);
+ int encodeSize();
void encode(ByteBuffer buffer);
void decode(int length, ByteBuffer buffer);
+
+ void done();
}
Modified: projects/jaio/trunk/jaio/java/src/org/jboss/jaio/libaioimpl/LibAIOController.java
===================================================================
--- projects/jaio/trunk/jaio/java/src/org/jboss/jaio/libaioimpl/LibAIOController.java 2008-02-11 17:24:36 UTC (rev 3700)
+++ projects/jaio/trunk/jaio/java/src/org/jboss/jaio/libaioimpl/LibAIOController.java 2008-02-11 17:25:36 UTC (rev 3701)
@@ -1,5 +1,7 @@
package org.jboss.jaio.libaioimpl;
+import java.nio.ByteBuffer;
+
import org.jboss.jaio.api.AIOController;
import org.jboss.jaio.api.AIOPackage;
import org.jboss.jaio.api.AIORecoveryCallback;
@@ -35,6 +37,12 @@
}
}
+
+ public void flushMemory()
+ {
+ flushMemory(handler);
+ }
+
public void open(String fileName)
{
handler = init (fileName, AIOPackage.class);
@@ -49,7 +57,7 @@
public void append(AIOPackage aioPackage)
{
- //append(handler, aioPackage);
+ append(handler, aioPackage);
}
@@ -80,6 +88,9 @@
@SuppressWarnings("unchecked")
private static native long init(String fileName, Class aioPackageClazz);
+ private static native void append(long handle, AIOPackage aioPackage);
+
+ private static native void flushMemory(long handle);
+
//private static native void closeInternal(long handler);
- //private static native void append(long handler, AIOPackage aioPackage);
}
Modified: projects/jaio/trunk/jaio/java/tests/org/jboss/jaio/libaioimpl/test/TestInit.java
===================================================================
--- projects/jaio/trunk/jaio/java/tests/org/jboss/jaio/libaioimpl/test/TestInit.java 2008-02-11 17:24:36 UTC (rev 3700)
+++ projects/jaio/trunk/jaio/java/tests/org/jboss/jaio/libaioimpl/test/TestInit.java 2008-02-11 17:25:36 UTC (rev 3701)
@@ -1,14 +1,81 @@
package org.jboss.jaio.libaioimpl.test;
+import java.nio.ByteBuffer;
+
+import org.jboss.jaio.api.AIOPackage;
import org.jboss.jaio.libaioimpl.LibAIOController;
import junit.framework.TestCase;
public class TestInit extends TestCase
{
+
public void testOpen()throws Exception
{
LibAIOController controller = new LibAIOController();
controller.open("/tmp/libaio.log");
}
+
+ public void testAddData() throws Exception
+ {
+ LibAIOController controller = new LibAIOController();
+ controller.open("/tmp/libaio.log");
+ LocalAIO aio = new LocalAIO();
+
+ controller.append(aio);
+ controller.append(aio);
+ controller.append(aio);
+ assertTrue(aio.encodeCalled);
+ assertTrue(aio.encodeSizeCalled);
+ assertFalse(aio.doneCalled);
+
+ controller.flushMemory();
+
+ assertTrue(aio.doneCalled);
+
+ }
+
+ private static class LocalAIO implements AIOPackage
+ {
+
+ boolean encodeCalled = false;
+ boolean encodeSizeCalled = false;
+ boolean doneCalled = false;
+ public void decode(int length, ByteBuffer buffer)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void done()
+ {
+ System.out.println("Done called");
+ doneCalled = true;
+
+ }
+
+ public void encode(ByteBuffer buffer)
+ {
+ encodeCalled = true;
+ buffer.put((byte)'C');
+ buffer.put((byte)'R');
+ buffer.put((byte)'S');
+ buffer.put((byte)'C');
+ buffer.put((byte)'R');
+ buffer.put((byte)'S');
+ buffer.put((byte)'C');
+ buffer.put((byte)'R');
+ buffer.put((byte)'S');
+ buffer.put((byte)'\n');
+ }
+
+ public int encodeSize()
+ {
+ System.out.println("Size called");
+ System.out.flush();
+ encodeSizeCalled = true;
+ return 10;
+ }
+
+ }
}
More information about the jboss-cvs-commits
mailing list