[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