[hornetq-commits] JBoss hornetq SVN: r8348 - branches/ClebertTemporary/native/src.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Nov 20 11:52:13 EST 2009


Author: clebert.suconic at jboss.com
Date: 2009-11-20 11:52:13 -0500 (Fri, 20 Nov 2009)
New Revision: 8348

Modified:
   branches/ClebertTemporary/native/src/JNICallbackAdapter.cpp
   branches/ClebertTemporary/native/src/JNICallbackAdapter.h
   branches/ClebertTemporary/native/src/JNI_AsynchronousFileImpl.cpp
   branches/ClebertTemporary/native/src/Version.h
Log:
AIO order

Modified: branches/ClebertTemporary/native/src/JNICallbackAdapter.cpp
===================================================================
--- branches/ClebertTemporary/native/src/JNICallbackAdapter.cpp	2009-11-20 16:51:38 UTC (rev 8347)
+++ branches/ClebertTemporary/native/src/JNICallbackAdapter.cpp	2009-11-20 16:52:13 UTC (rev 8348)
@@ -18,13 +18,20 @@
 
 jobject nullObj = NULL;
 
-JNICallbackAdapter::JNICallbackAdapter(AIOController * _controller, jobject _callback, jobject _fileController, jobject _bufferReference, short _isRead) : CallbackAdapter()
+JNICallbackAdapter::JNICallbackAdapter(AIOController * _controller, jint _sequence, jobject _callback, jobject _fileController, jobject _bufferReference, short _isRead) : CallbackAdapter()
 {
 	controller = _controller;
+
+	sequence = _sequence;
+
 	callback = _callback;
+
 	fileController = _fileController;
+
 	bufferReference = _bufferReference;
+
 	isRead = _isRead;
+
 }
 
 JNICallbackAdapter::~JNICallbackAdapter()
@@ -33,15 +40,19 @@
 
 void JNICallbackAdapter::done(THREAD_CONTEXT threadContext)
 {
-	JNI_ENV(threadContext)->CallVoidMethod(fileController, controller->done, callback,  isRead ? nullObj : bufferReference); 
+	JNI_ENV(threadContext)->CallVoidMethod(fileController, controller->done, callback,  sequence, isRead ? nullObj : bufferReference); 
+
 	release(threadContext);
 }
 
 void JNICallbackAdapter::onError(THREAD_CONTEXT threadContext, long errorCode, std::string error)
 {
 	controller->log(threadContext, 0, "Libaio event generated errors, callback object was informed about it");
+
 	jstring strError = JNI_ENV(threadContext)->NewStringUTF(error.data());
-	JNI_ENV(threadContext)->CallVoidMethod(fileController, controller->error, callback, isRead ? nullObj : bufferReference, (jint)errorCode, strError);
+
+	JNI_ENV(threadContext)->CallVoidMethod(fileController, controller->error, callback, sequence, isRead ? nullObj : bufferReference, (jint)errorCode, strError);
+
 	release(threadContext);
 }
 

Modified: branches/ClebertTemporary/native/src/JNICallbackAdapter.h
===================================================================
--- branches/ClebertTemporary/native/src/JNICallbackAdapter.h	2009-11-20 16:51:38 UTC (rev 8347)
+++ branches/ClebertTemporary/native/src/JNICallbackAdapter.h	2009-11-20 16:52:13 UTC (rev 8348)
@@ -24,10 +24,17 @@
 class JNICallbackAdapter : public CallbackAdapter
 {
 private:
+
 	AIOController * controller;
+	
 	jobject callback;
+	
 	jobject fileController;
+	
 	jobject bufferReference;
+	
+	jint sequence;
+	
 	// Is this a read operation
 	short isRead;
 
@@ -43,7 +50,7 @@
 	
 public:
 	// _ob must be a global Reference (use createGloblReferente before calling the constructor)
-	JNICallbackAdapter(AIOController * _controller, jobject _callback, jobject _fileController, jobject _bufferReference, short _isRead);
+	JNICallbackAdapter(AIOController * _controller, jint sequence, jobject _callback, jobject _fileController, jobject _bufferReference, short _isRead);
 	virtual ~JNICallbackAdapter();
 
 	void done(THREAD_CONTEXT threadContext);

Modified: branches/ClebertTemporary/native/src/JNI_AsynchronousFileImpl.cpp
===================================================================
--- branches/ClebertTemporary/native/src/JNI_AsynchronousFileImpl.cpp	2009-11-20 16:51:38 UTC (rev 8347)
+++ branches/ClebertTemporary/native/src/JNI_AsynchronousFileImpl.cpp	2009-11-20 16:52:13 UTC (rev 8348)
@@ -48,10 +48,10 @@
 		std::string fileName = convertJavaString(env, jstrFileName);
 
 		controller = new AIOController(fileName, (int) maxIO);
-		controller->done = env->GetMethodID(clazz,"callbackDone","(Lorg/hornetq/core/asyncio/AIOCallback;Ljava/nio/ByteBuffer;)V");
+		controller->done = env->GetMethodID(clazz,"callbackDone","(Lorg/hornetq/core/asyncio/AIOCallback;ILjava/nio/ByteBuffer;)V");
 		if (!controller->done) return 0;
 
-		controller->error = env->GetMethodID(clazz, "callbackError", "(Lorg/hornetq/core/asyncio/AIOCallback;Ljava/nio/ByteBuffer;ILjava/lang/String;)V");
+		controller->error = env->GetMethodID(clazz, "callbackError", "(Lorg/hornetq/core/asyncio/AIOCallback;ILjava/nio/ByteBuffer;ILjava/lang/String;)V");
         if (!controller->error) return 0;
 
         jclass loggerClass = env->GetObjectClass(logger);
@@ -97,7 +97,7 @@
 			return;
 		}
 
-		CallbackAdapter * adapter = new JNICallbackAdapter(controller, env->NewGlobalRef(callback), env->NewGlobalRef(objThis), env->NewGlobalRef(jbuffer), true);
+		CallbackAdapter * adapter = new JNICallbackAdapter(controller, -1, env->NewGlobalRef(callback), env->NewGlobalRef(objThis), env->NewGlobalRef(jbuffer), true);
 
 		controller->fileOutput.read(env, position, (size_t)size, buffer, adapter);
 	}
@@ -166,7 +166,7 @@
 }
 
 JNIEXPORT void JNICALL Java_org_hornetq_core_asyncio_impl_AsynchronousFileImpl_write
-  (JNIEnv *env, jobject objThis, jlong controllerAddress, jlong position, jlong size, jobject jbuffer, jobject callback)
+  (JNIEnv *env, jobject objThis, jlong controllerAddress, jint sequence, jlong position, jlong size, jobject jbuffer, jobject callback)
 {
 	try
 	{
@@ -180,7 +180,7 @@
 		}
 
 
-		CallbackAdapter * adapter = new JNICallbackAdapter(controller, env->NewGlobalRef(callback), env->NewGlobalRef(objThis), env->NewGlobalRef(jbuffer), false);
+		CallbackAdapter * adapter = new JNICallbackAdapter(controller, sequence, env->NewGlobalRef(callback), env->NewGlobalRef(objThis), env->NewGlobalRef(jbuffer), false);
 
 		controller->fileOutput.write(env, position, (size_t)size, buffer, adapter);
 	}

Modified: branches/ClebertTemporary/native/src/Version.h
===================================================================
--- branches/ClebertTemporary/native/src/Version.h	2009-11-20 16:51:38 UTC (rev 8347)
+++ branches/ClebertTemporary/native/src/Version.h	2009-11-20 16:52:13 UTC (rev 8348)
@@ -1,5 +1,5 @@
 
 #ifndef _VERSION_NATIVE_AIO
-#define _VERSION_NATIVE_AIO 25
+#define _VERSION_NATIVE_AIO 26
 #endif
 



More information about the hornetq-commits mailing list