[jboss-cvs] JBoss Messaging SVN: r3697 - projects/jaio/trunk/jaio/native/src.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sun Feb 10 04:53:15 EST 2008


Author: clebert.suconic at jboss.com
Date: 2008-02-10 04:53:14 -0500 (Sun, 10 Feb 2008)
New Revision: 3697

Added:
   projects/jaio/trunk/jaio/native/src/AIOController.cpp
   projects/jaio/trunk/jaio/native/src/AIOController.h
   projects/jaio/trunk/jaio/native/src/BufferAdapter.h
   projects/jaio/trunk/jaio/native/src/JNIBufferAdapter.cpp
   projects/jaio/trunk/jaio/native/src/JNIBufferAdapter.h
   projects/jaio/trunk/jaio/native/src/PageManager.cpp
   projects/jaio/trunk/jaio/native/src/PageManager.h
   projects/jaio/trunk/jaio/native/src/PageObserver.cpp
   projects/jaio/trunk/jaio/native/src/PageObserver.h
Modified:
   projects/jaio/trunk/jaio/native/src/LibAIOController.cpp
   projects/jaio/trunk/jaio/native/src/Makefile.am
   projects/jaio/trunk/jaio/native/src/org_jboss_jaio_libaioimpl_LibAIOController.h
Log:
Adding new files

Added: projects/jaio/trunk/jaio/native/src/AIOController.cpp
===================================================================
--- projects/jaio/trunk/jaio/native/src/AIOController.cpp	                        (rev 0)
+++ projects/jaio/trunk/jaio/native/src/AIOController.cpp	2008-02-10 09:53:14 UTC (rev 3697)
@@ -0,0 +1,11 @@
+#include "AIOController.h"
+#include "PageManager.h"
+
+AIOController::AIOController() : manager(10 * 1024)
+{
+	
+}
+
+AIOController::~AIOController()
+{
+}


Property changes on: projects/jaio/trunk/jaio/native/src/AIOController.cpp
___________________________________________________________________
Name: svn:keywords
   + "Id LastChangedDate Author Revision"

Added: projects/jaio/trunk/jaio/native/src/AIOController.h
===================================================================
--- projects/jaio/trunk/jaio/native/src/AIOController.h	                        (rev 0)
+++ projects/jaio/trunk/jaio/native/src/AIOController.h	2008-02-10 09:53:14 UTC (rev 3697)
@@ -0,0 +1,20 @@
+#ifndef AIOCONTROLLER_H_
+#define AIOCONTROLLER_H_
+#include <jni.h>
+
+#include "PageManager.h"
+
+class AIOController
+{
+public:
+	jmethodID encodeSize;
+	jmethodID encode;
+	jmethodID decode;
+	jmethodID done;
+	int fileHandle;
+	JNIEnv * env;
+	PageManager manager;
+	AIOController();
+	virtual ~AIOController();
+};
+#endif /*AIOCONTROLLER_H_*/

Added: projects/jaio/trunk/jaio/native/src/BufferAdapter.h
===================================================================
--- projects/jaio/trunk/jaio/native/src/BufferAdapter.h	                        (rev 0)
+++ projects/jaio/trunk/jaio/native/src/BufferAdapter.h	2008-02-10 09:53:14 UTC (rev 3697)
@@ -0,0 +1,14 @@
+#ifndef BUFFERADAPTER_H_
+#define BUFFERADAPTER_H_
+
+class BufferAdapter
+{
+public:
+	BufferAdapter();
+	virtual ~BufferAdapter();
+	
+	virtual void encode(const int& size, void *) = 0;
+	virtual void done() = 0;
+	virtual int blockSize() = 0;
+};
+#endif /*BUFFERADAPTER_H_*/

Added: projects/jaio/trunk/jaio/native/src/JNIBufferAdapter.cpp
===================================================================
--- projects/jaio/trunk/jaio/native/src/JNIBufferAdapter.cpp	                        (rev 0)
+++ projects/jaio/trunk/jaio/native/src/JNIBufferAdapter.cpp	2008-02-10 09:53:14 UTC (rev 3697)
@@ -0,0 +1,28 @@
+#include <jni.h>
+#include "JNIBufferAdapter.h"
+
+JNIBufferAdapter::JNIBufferAdapter(AIOController * _controller, jobject _obj) : BufferAdapter()
+{
+	controller = _controller;
+	obj = _obj;
+}
+
+JNIBufferAdapter::~JNIBufferAdapter()
+{
+}
+
+
+void JNIBufferAdapter::encode(const int& size, void * bufferAddress)
+{
+	jobject buffer = controller->env->NewDirectByteBuffer(bufferAddress, size);
+	controller->env->CallVoidMethod(obj, controller->encode, buffer);
+}
+void JNIBufferAdapter::done()
+{
+	return;
+}
+int JNIBufferAdapter::blockSize()
+{
+	return 0;
+}
+


Property changes on: projects/jaio/trunk/jaio/native/src/JNIBufferAdapter.cpp
___________________________________________________________________
Name: svn:keywords
   + "Id LastChangedDate Author Revision"

Added: projects/jaio/trunk/jaio/native/src/JNIBufferAdapter.h
===================================================================
--- projects/jaio/trunk/jaio/native/src/JNIBufferAdapter.h	                        (rev 0)
+++ projects/jaio/trunk/jaio/native/src/JNIBufferAdapter.h	2008-02-10 09:53:14 UTC (rev 3697)
@@ -0,0 +1,20 @@
+#ifndef JNIBUFFERADAPTER_H_
+#define JNIBUFFERADAPTER_H_
+
+#include "BufferAdapter.h"
+#include "AIOController.h"
+
+class JNIBufferAdapter : public BufferAdapter
+{
+private:
+	AIOController * controller;
+	jobject obj;
+public:
+	JNIBufferAdapter(AIOController * _controller, jobject _ob);
+	virtual ~JNIBufferAdapter();
+	void encode(const int& size, void *);
+	void done();
+	int blockSize();
+	
+};
+#endif /*JNIBUFFERADAPTER_H_*/

Modified: projects/jaio/trunk/jaio/native/src/LibAIOController.cpp
===================================================================
--- projects/jaio/trunk/jaio/native/src/LibAIOController.cpp	2008-02-10 08:04:31 UTC (rev 3696)
+++ projects/jaio/trunk/jaio/native/src/LibAIOController.cpp	2008-02-10 09:53:14 UTC (rev 3697)
@@ -3,11 +3,44 @@
 #include <iostream>
 #include "org_jboss_jaio_libaioimpl_LibAIOController.h"
 
+#include "AIOController.h"
 
+#include "JavaUtilities.h"
+#include <stdio.h>
+#include <fcntl.h>
+#include <string>
 
-JNIEXPORT jlong JNICALL Java_org_jboss_jaio_libaioimpl_LibAIOController_openInternal
-  (JNIEnv *, jclass, jstring)
+//using namespace jbm;
+
+JNIEXPORT jlong JNICALL Java_org_jboss_jaio_libaioimpl_LibAIOController_init
+  (JNIEnv * env, jclass, jstring jstrFileName, jclass clazz)
 {
-    std::cout << "open internal $$$\n";
-    return 0;
+	/*std::string fileName = convertJavaString(env, jstrFileName);
+	
+	jbm::AIOController * controller = new jbm::AIOController();
+	controller->done = env->GetMethodID(clazz,"done","()V");
+	if (!controller->done) return 0;
+	
+	controller->encode = env->GetMethodID(clazz,"encode","(Ljava/nio/ByteBuffer;)V");
+	if (!controller->done) return 0;
+	
+	controller->decode = env->GetMethodID(clazz,"decode","(ILjava/nio/ByteBuffer;)V");
+	if (!controller->done) return 0;
+	
+	controller->encodeSize = env->GetMethodID(clazz,"encodeSize","()I");
+	if (!controller->done) return 0;
+	
+	
+	controller->fileHandle = open(fileName.data(),  O_WRONLY | O_CREAT, 0666);
+	if (controller->fileHandle < 0)
+	{
+		throwException(env, "java/lang/RuntimeException", "Can't open file");
+		delete controller;
+		return 0;
+	}
+	
+    controller->env = env;	
+	
+    return (jlong)controller; */
+	return 0;
 }

Modified: projects/jaio/trunk/jaio/native/src/Makefile.am
===================================================================
--- projects/jaio/trunk/jaio/native/src/Makefile.am	2008-02-10 08:04:31 UTC (rev 3696)
+++ projects/jaio/trunk/jaio/native/src/Makefile.am	2008-02-10 09:53:14 UTC (rev 3697)
@@ -1,4 +1,7 @@
 #AM_CXXFLAGS = $(JVM_CXXFLAGS)
 lib_LTLIBRARIES = libJaio.la
 
-libJaio_la_SOURCES = LibAIOController.cpp
+libJaio_la_SOURCES = LibAIOController.cpp AIOController.cpp  JavaUtilities.h       PageManager.cpp AIOController.h    JNIBufferAdapter.cpp  PageManager.h BufferAdapter.h    JNIBufferAdapter.h    PageObserver.cpp JavaUtilities.cpp    org_jboss_jaio_libaioimpl_LibAIOController.h  PageObserver.h
+#libJaio_la_SOURCES = LibAIOController.cpp AIOController.cpp 
+
+ 
\ No newline at end of file

Added: projects/jaio/trunk/jaio/native/src/PageManager.cpp
===================================================================
--- projects/jaio/trunk/jaio/native/src/PageManager.cpp	                        (rev 0)
+++ projects/jaio/trunk/jaio/native/src/PageManager.cpp	2008-02-10 09:53:14 UTC (rev 3697)
@@ -0,0 +1,18 @@
+#include "PageManager.h"
+#include "BufferAdapter.h"
+
+PageManager::PageManager(int _pageSize)
+{
+	pageSize = _pageSize;
+}
+
+PageManager::~PageManager()
+{
+}
+
+
+void PageManager::addData(BufferAdapter& adapter)
+{
+	char * str = "Hello Guys"; 
+	adapter.encode (10, (void *)str);
+}


Property changes on: projects/jaio/trunk/jaio/native/src/PageManager.cpp
___________________________________________________________________
Name: svn:keywords
   + "Id LastChangedDate Author Revision"

Added: projects/jaio/trunk/jaio/native/src/PageManager.h
===================================================================
--- projects/jaio/trunk/jaio/native/src/PageManager.h	                        (rev 0)
+++ projects/jaio/trunk/jaio/native/src/PageManager.h	2008-02-10 09:53:14 UTC (rev 3697)
@@ -0,0 +1,17 @@
+#ifndef PAGEMANAGER_H_
+#define PAGEMANAGER_H_
+
+#include "BufferAdapter.h"
+
+
+class PageManager
+{
+private:
+	int pageSize;
+public:
+	PageManager(int pageSize);
+	virtual ~PageManager();
+	void addData(BufferAdapter& adapter);
+};
+
+#endif /*PAGEMANAGER_H_*/

Added: projects/jaio/trunk/jaio/native/src/PageObserver.cpp
===================================================================
--- projects/jaio/trunk/jaio/native/src/PageObserver.cpp	                        (rev 0)
+++ projects/jaio/trunk/jaio/native/src/PageObserver.cpp	2008-02-10 09:53:14 UTC (rev 3697)
@@ -0,0 +1,9 @@
+#include "PageObserver.h"
+
+PageObserver::PageObserver()
+{
+}
+
+PageObserver::~PageObserver()
+{
+}


Property changes on: projects/jaio/trunk/jaio/native/src/PageObserver.cpp
___________________________________________________________________
Name: svn:keywords
   + "Id LastChangedDate Author Revision"

Added: projects/jaio/trunk/jaio/native/src/PageObserver.h
===================================================================
--- projects/jaio/trunk/jaio/native/src/PageObserver.h	                        (rev 0)
+++ projects/jaio/trunk/jaio/native/src/PageObserver.h	2008-02-10 09:53:14 UTC (rev 3697)
@@ -0,0 +1,16 @@
+#ifndef PAGEOBSERVER_H_
+#define PAGEOBSERVER_H_
+
+#include <list>
+#include "BufferAdapter.h"
+
+class PageObserver : public BufferAdapter
+{
+public:
+	PageObserver();
+	~PageObserver();
+	
+	virtual void completePage(void *, std::list<BufferAdapter>)=0;
+};
+
+#endif /*PAGEOBSERVER_H_*/

Modified: projects/jaio/trunk/jaio/native/src/org_jboss_jaio_libaioimpl_LibAIOController.h
===================================================================
--- projects/jaio/trunk/jaio/native/src/org_jboss_jaio_libaioimpl_LibAIOController.h	2008-02-10 08:04:31 UTC (rev 3696)
+++ projects/jaio/trunk/jaio/native/src/org_jboss_jaio_libaioimpl_LibAIOController.h	2008-02-10 09:53:14 UTC (rev 3697)
@@ -15,6 +15,14 @@
 JNIEXPORT jlong JNICALL Java_org_jboss_jaio_libaioimpl_LibAIOController_init
   (JNIEnv *, jclass, jstring, jclass);
 
+/*
+ * Class:     org_jboss_jaio_libaioimpl_LibAIOController
+ * Method:    append
+ * Signature: (JLorg/jboss/jaio/api/AIOPackage;)V
+ */
+JNIEXPORT void JNICALL Java_org_jboss_jaio_libaioimpl_LibAIOController_append
+  (JNIEnv *, jclass, jlong, jobject);
+
 #ifdef __cplusplus
 }
 #endif




More information about the jboss-cvs-commits mailing list