[jboss-cvs] JBoss Messaging SVN: r3749 - in projects/jaio/trunk/jaio/native: src and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Feb 20 18:15:25 EST 2008


Author: clebert.suconic at jboss.com
Date: 2008-02-20 18:15:24 -0500 (Wed, 20 Feb 2008)
New Revision: 3749

Added:
   projects/jaio/trunk/jaio/native/.cproject
   projects/jaio/trunk/jaio/native/.project
Modified:
   projects/jaio/trunk/jaio/native/src/AIOController.cpp
   projects/jaio/trunk/jaio/native/src/AIOController.h
   projects/jaio/trunk/jaio/native/src/DataManager.h
   projects/jaio/trunk/jaio/native/src/FileOutput.cpp
   projects/jaio/trunk/jaio/native/src/FileOutput.h
   projects/jaio/trunk/jaio/native/src/LibAIOController.cpp
   projects/jaio/trunk/jaio/native/src/org_jboss_jaio_libaioimpl_LibAIOController.h
Log:
Logging

Added: projects/jaio/trunk/jaio/native/.cproject
===================================================================
--- projects/jaio/trunk/jaio/native/.cproject	                        (rev 0)
+++ projects/jaio/trunk/jaio/native/.cproject	2008-02-20 23:15:24 UTC (rev 3749)
@@ -0,0 +1,618 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?>
+
+<cproject>
+<storageModule moduleId="org.eclipse.cdt.core.settings">
+<cconfiguration id="cdt.managedbuild.config.gnu.so.debug.754887411">
+<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.so.debug.754887411" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+<externalSettings>
+<externalSetting>
+<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/native"/>
+<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="Debug"/>
+</externalSetting>
+</externalSettings>
+<extensions>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="cdtBuildSystem" version="4.0.0">
+<configuration artifactExtension="so" artifactName="native" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.sharedLib" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.so.debug.754887411" name="Debug" parent="cdt.managedbuild.config.gnu.so.debug">
+<folderInfo id="cdt.managedbuild.config.gnu.so.debug.754887411." name="/" resourcePath="">
+<toolChain id="cdt.managedbuild.toolchain.gnu.so.debug.1632798896" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.so.debug">
+<targetPlatform id="cdt.managedbuild.target.gnu.platform.so.debug.1933901845" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.so.debug"/>
+<builder buildPath="${workspace_loc:/native/Debug}" id="cdt.managedbuild.target.gnu.builder.so.debug.1989170453" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.so.debug"/>
+<tool id="cdt.managedbuild.tool.gnu.archiver.base.1618233611" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
+<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.so.debug.1973033651" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.so.debug">
+<option id="gnu.cpp.compiler.so.debug.option.optimization.level.163689516" name="Optimization Level" superClass="gnu.cpp.compiler.so.debug.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+<option id="gnu.cpp.compiler.so.debug.option.debugging.level.192407483" name="Debug Level" superClass="gnu.cpp.compiler.so.debug.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
+<option id="gnu.cpp.compiler.option.include.paths.526331600" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+<listOptionValue builtIn="false" value="/usr/share/jdk1.5.0_13/include"/>
+<listOptionValue builtIn="false" value="/usr/share/jdk1.5.0_13/include/linux"/>
+</option>
+<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.382520559" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+</tool>
+<tool id="cdt.managedbuild.tool.gnu.c.compiler.so.debug.1538168967" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.so.debug">
+<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.so.debug.option.optimization.level.1107810245" name="Optimization Level" superClass="gnu.c.compiler.so.debug.option.optimization.level" valueType="enumerated"/>
+<option id="gnu.c.compiler.so.debug.option.debugging.level.1251792299" name="Debug Level" superClass="gnu.c.compiler.so.debug.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/>
+<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.164845559" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+</tool>
+<tool id="cdt.managedbuild.tool.gnu.c.linker.so.debug.1236235778" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.so.debug">
+<option defaultValue="true" id="gnu.c.link.so.debug.option.shared.1705171464" name="Shared (-shared)" superClass="gnu.c.link.so.debug.option.shared" valueType="boolean"/>
+</tool>
+<tool id="cdt.managedbuild.tool.gnu.cpp.linker.so.debug.1794075307" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.so.debug">
+<option defaultValue="true" id="gnu.cpp.link.so.debug.option.shared.2126393086" name="Shared (-shared)" superClass="gnu.cpp.link.so.debug.option.shared" valueType="boolean"/>
+<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.192980717" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+<additionalInput kind="additionalinput" paths="$(LIBS)"/>
+</inputType>
+</tool>
+<tool id="cdt.managedbuild.tool.gnu.assembler.so.debug.184544849" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.so.debug">
+<inputType id="cdt.managedbuild.tool.gnu.assembler.input.306974332" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+</tool>
+</toolChain>
+</folderInfo>
+</configuration>
+</storageModule>
+<storageModule moduleId="scannerConfiguration">
+<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="makefileGenerator">
+<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.so.debug.754887411;cdt.managedbuild.config.gnu.so.debug.754887411.;cdt.managedbuild.tool.gnu.c.compiler.so.debug.1538168967;cdt.managedbuild.tool.gnu.c.compiler.input.164845559">
+<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="makefileGenerator">
+<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+</scannerConfigBuildInfo>
+<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.so.debug.754887411;cdt.managedbuild.config.gnu.so.debug.754887411.;cdt.managedbuild.tool.gnu.cpp.compiler.so.debug.1973033651;cdt.managedbuild.tool.gnu.cpp.compiler.input.382520559">
+<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"/>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="makefileGenerator">
+<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+</scannerConfigBuildInfo>
+</storageModule>
+<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
+</cconfiguration>
+<cconfiguration id="cdt.managedbuild.config.gnu.so.release.1948014977">
+<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.so.release.1948014977" moduleId="org.eclipse.cdt.core.settings" name="Release">
+<externalSettings>
+<externalSetting>
+<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/native"/>
+<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="Release"/>
+</externalSetting>
+</externalSettings>
+<extensions>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="cdtBuildSystem" version="4.0.0">
+<configuration artifactExtension="so" artifactName="native" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.sharedLib" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.so.release.1948014977" name="Release" parent="cdt.managedbuild.config.gnu.so.release">
+<folderInfo id="cdt.managedbuild.config.gnu.so.release.1948014977." name="/" resourcePath="">
+<toolChain id="cdt.managedbuild.toolchain.gnu.so.release.679940828" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.so.release">
+<targetPlatform id="cdt.managedbuild.target.gnu.platform.so.release.333696725" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.so.release"/>
+<builder buildPath="${workspace_loc:/native/Release}" id="cdt.managedbuild.target.gnu.builder.so.release.1760551071" managedBuildOn="true" name="Gnu Make Builder.Release" superClass="cdt.managedbuild.target.gnu.builder.so.release"/>
+<tool id="cdt.managedbuild.tool.gnu.archiver.base.1183233052" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
+<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.so.release.1612503496" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.so.release">
+<option id="gnu.cpp.compiler.so.release.option.optimization.level.1602533940" superClass="gnu.cpp.compiler.so.release.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+<option id="gnu.cpp.compiler.so.release.option.debugging.level.1653404383" superClass="gnu.cpp.compiler.so.release.option.debugging.level" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>
+<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1081693189" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+</tool>
+<tool id="cdt.managedbuild.tool.gnu.c.compiler.so.release.508755606" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.so.release">
+<option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.so.release.option.optimization.level.558731711" superClass="gnu.c.compiler.so.release.option.optimization.level" valueType="enumerated"/>
+<option id="gnu.c.compiler.so.release.option.debugging.level.542588284" superClass="gnu.c.compiler.so.release.option.debugging.level" value="gnu.c.debugging.level.none" valueType="enumerated"/>
+<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1170773485" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+</tool>
+<tool id="cdt.managedbuild.tool.gnu.c.linker.so.release.1495215691" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.so.release">
+<option defaultValue="true" id="gnu.c.link.so.release.option.shared.260973625" superClass="gnu.c.link.so.release.option.shared" valueType="boolean"/>
+</tool>
+<tool id="cdt.managedbuild.tool.gnu.cpp.linker.so.release.670506171" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.so.release">
+<option defaultValue="true" id="gnu.cpp.link.so.release.option.shared.1001988594" superClass="gnu.cpp.link.so.release.option.shared" valueType="boolean"/>
+<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.720268649" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+<additionalInput kind="additionalinput" paths="$(LIBS)"/>
+</inputType>
+</tool>
+<tool id="cdt.managedbuild.tool.gnu.assembler.so.release.832794340" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.so.release">
+<inputType id="cdt.managedbuild.tool.gnu.assembler.input.127046549" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+</tool>
+</toolChain>
+</folderInfo>
+</configuration>
+</storageModule>
+<storageModule moduleId="scannerConfiguration">
+<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="makefileGenerator">
+<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.so.debug.754887411;cdt.managedbuild.config.gnu.so.debug.754887411.;cdt.managedbuild.tool.gnu.c.compiler.so.debug.1538168967;cdt.managedbuild.tool.gnu.c.compiler.input.164845559">
+<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="makefileGenerator">
+<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+</scannerConfigBuildInfo>
+<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.so.debug.754887411;cdt.managedbuild.config.gnu.so.debug.754887411.;cdt.managedbuild.tool.gnu.cpp.compiler.so.debug.1973033651;cdt.managedbuild.tool.gnu.cpp.compiler.input.382520559">
+<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"/>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="makefileGenerator">
+<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+</scannerConfigBuildInfo>
+</storageModule>
+<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
+<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+</cconfiguration>
+</storageModule>
+<storageModule moduleId="cdtBuildSystem" version="4.0.0">
+<project id="native.cdt.managedbuild.target.gnu.so.1442597088" name="Shared Library" projectType="cdt.managedbuild.target.gnu.so"/>
+</storageModule>
+</cproject>

Added: projects/jaio/trunk/jaio/native/.project
===================================================================
--- projects/jaio/trunk/jaio/native/.project	                        (rev 0)
+++ projects/jaio/trunk/jaio/native/.project	2008-02-20 23:15:24 UTC (rev 3749)
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>native</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+			<triggers>clean,full,incremental,</triggers>
+			<arguments>
+				<dictionary>
+					<key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
+					<value>clean</value>
+				</dictionary>
+				<dictionary>
+					<key>org.eclipse.cdt.make.core.enableCleanBuild</key>
+					<value>true</value>
+				</dictionary>
+				<dictionary>
+					<key>?name?</key>
+					<value></value>
+				</dictionary>
+				<dictionary>
+					<key>org.eclipse.cdt.make.core.append_environment</key>
+					<value>true</value>
+				</dictionary>
+				<dictionary>
+					<key>org.eclipse.cdt.make.core.stopOnError</key>
+					<value>true</value>
+				</dictionary>
+				<dictionary>
+					<key>org.eclipse.cdt.make.core.buildCommand</key>
+					<value>make</value>
+				</dictionary>
+				<dictionary>
+					<key>org.eclipse.cdt.make.core.contents</key>
+					<value>org.eclipse.cdt.make.core.activeConfigSettings</value>
+				</dictionary>
+				<dictionary>
+					<key>org.eclipse.cdt.make.core.buildLocation</key>
+					<value>${workspace_loc:/native/Debug}</value>
+				</dictionary>
+				<dictionary>
+					<key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
+					<value>true</value>
+				</dictionary>
+				<dictionary>
+					<key>org.eclipse.cdt.make.core.enableAutoBuild</key>
+					<value>false</value>
+				</dictionary>
+				<dictionary>
+					<key>org.eclipse.cdt.make.core.enableFullBuild</key>
+					<value>true</value>
+				</dictionary>
+				<dictionary>
+					<key>org.eclipse.cdt.make.core.buildArguments</key>
+					<value></value>
+				</dictionary>
+				<dictionary>
+					<key>org.eclipse.cdt.make.core.fullBuildTarget</key>
+					<value>all</value>
+				</dictionary>
+				<dictionary>
+					<key>org.eclipse.cdt.make.core.autoBuildTarget</key>
+					<value>all</value>
+				</dictionary>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.cdt.core.ccnature</nature>
+		<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+		<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+		<nature>org.eclipse.cdt.core.cnature</nature>
+	</natures>
+</projectDescription>

Modified: projects/jaio/trunk/jaio/native/src/AIOController.cpp
===================================================================
--- projects/jaio/trunk/jaio/native/src/AIOController.cpp	2008-02-20 21:44:11 UTC (rev 3748)
+++ projects/jaio/trunk/jaio/native/src/AIOController.cpp	2008-02-20 23:15:24 UTC (rev 3749)
@@ -20,20 +20,47 @@
 
 #include <string>
 #include "AIOController.h"
+#include "FileOutput.h"
 #include "PageManager.h"
+#include "JavaUtilities.h"
+#include "JAIODatatypes.h"
 
-AIOController::AIOController(std::string fileName) : fileOutput(fileName)
+AIOController::AIOController(std::string fileName, int maxIO) : logger(0), fileOutput(fileName, this, maxIO) 
 {
 	manager = (DataManager *)&fileOutput;
 	usingPaging = false;
 }
 
-AIOController::AIOController(std::string fileName, int pageSize) : fileOutput(fileName)
+void AIOController::log(THREAD_CONTEXT threadContext, short level, char * message)
 {
-	manager = new PageManager(pageSize, &fileOutput);
-	usingPaging = true;
+	jmethodID methodID = 0;
+	
+	switch (level)
+	{
+	case 0: methodID = loggerError; break;
+	case 1: methodID = loggerWarn; break;
+	case 2: methodID = loggerInfo; break;
+	case 3: methodID = loggerDebug; break;
+	default: methodID = loggerDebug; break;
+	}
+
+#ifdef DEBUG
+	fprintf (stderr,"Callig log methodID=%ld, message=%s, logger=%ld, threadContext = %ld\n", (long) methodID, message, (long) logger, (long) threadContext); fflush(stderr);
+#endif
+	threadContext->CallVoidMethod(logger,methodID,threadContext->NewStringUTF(message));
 }
 
+
+void AIOController::destroy(THREAD_CONTEXT context)
+{
+	context->DeleteGlobalRef(logger);
+}
+
+/*
+ * level = 0-error, 1-warn, 2-info, 3-debug
+ */
+
+
 AIOController::~AIOController()
 {
 }

Modified: projects/jaio/trunk/jaio/native/src/AIOController.h
===================================================================
--- projects/jaio/trunk/jaio/native/src/AIOController.h	2008-02-20 21:44:11 UTC (rev 3748)
+++ projects/jaio/trunk/jaio/native/src/AIOController.h	2008-02-20 23:15:24 UTC (rev 3749)
@@ -34,18 +34,30 @@
 	jmethodID decode;
 	jmethodID done;
 	jmethodID error;
+	jobject logger;
 	
+	jmethodID loggerError;
+	jmethodID loggerWarn;
+	jmethodID loggerDebug;
+	jmethodID loggerInfo;
+
+	/*
+	 * level = 0-error, 1-warn, 2-info, 3-debug
+	 */
+	void log(THREAD_CONTEXT threadContext, short level, char * message);
+	
 	int fileHandle;
 	FileOutput fileOutput;
 	
 	// It could be Paging or Direct File output
 	DataManager * manager;
 	
+	void destroy(THREAD_CONTEXT context);
 	
+	
 	bool usingPaging;
 	
-	AIOController(std::string fileName, int pageSize);
-	AIOController(std::string fileName);
+	AIOController(std::string fileName, int maxIO);
 	virtual ~AIOController();
 };
 #endif /*AIOCONTROLLER_H_*/

Modified: projects/jaio/trunk/jaio/native/src/DataManager.h
===================================================================
--- projects/jaio/trunk/jaio/native/src/DataManager.h	2008-02-20 21:44:11 UTC (rev 3748)
+++ projects/jaio/trunk/jaio/native/src/DataManager.h	2008-02-20 23:15:24 UTC (rev 3749)
@@ -29,7 +29,6 @@
 	DataManager();
 	virtual ~DataManager();
 	virtual void addData(THREAD_CONTEXT threadContext, BufferAdapter * adapter) = 0;
-	virtual void validateLowRate(THREAD_CONTEXT threadContext) = 0;
 	virtual void pollEvents(THREAD_CONTEXT threadContext) = 0;
 };
 

Modified: projects/jaio/trunk/jaio/native/src/FileOutput.cpp
===================================================================
--- projects/jaio/trunk/jaio/native/src/FileOutput.cpp	2008-02-20 21:44:11 UTC (rev 3748)
+++ projects/jaio/trunk/jaio/native/src/FileOutput.cpp	2008-02-20 23:15:24 UTC (rev 3749)
@@ -31,14 +31,12 @@
 #include <libaio.h>
 #include <fcntl.h>
 #include "FileOutput.h"
+#include "AIOController.h"
 #include "AIOException.h"
 #include "pthread.h"
 #include "LockClass.h"
 
-//#define SYNC
-//#define CALLBACK_THREAD
 
-
 std::string io_error(int rc)
 {
 	std::stringstream buffer;
@@ -52,23 +50,21 @@
 }
 
 
-FileOutput::FileOutput(std::string & _fileName) : aioContext(0), filePointer(0), events(0), added(0), received(0), pollerRunning(0)
+FileOutput::FileOutput(std::string & _fileName, AIOController * _controller, int _maxIO) : aioContext(0), filePointer(0), events(0), controller(_controller), pollerRunning(0)
 {
 	::pthread_mutex_init(&fileMutex,0);
 	::pthread_mutex_init(&pollerMutex,0);
+	
+	maxIO = _maxIO;
 	fileName = _fileName;
-	if (io_queue_init(MAX_IO, &aioContext))
+	if (io_queue_init(maxIO, &aioContext))
 	{
 		throw AIOException(1, "Can't initialize aio"); 
 	}
 
-#ifdef SYNC
-	fileHandle = open(fileName.data(),  O_WRONLY | O_CREAT, 0666);
-#else
-	//fileHandle = open(fileName.data(),  O_WRONLY | O_CREAT, 0666);
 	fileHandle = ::open(fileName.data(),  O_WRONLY | O_CREAT | O_DIRECT, 0666);
-	events = (struct io_event *)malloc (MAX_IO * sizeof (struct io_event));
-#endif
+	events = (struct io_event *)malloc (maxIO * sizeof (struct io_event));
+
 	if (fileHandle < 0)
 	{
 		throw AIOException(1, "Can't open file"); 
@@ -104,42 +100,19 @@
 	delete adapters;
 }
 
-/*void FileOutput::callbackDirect(io_context_t ctx, struct iocb *iocb, long res, long res2)
+void FileOutput::stopPoller(THREAD_CONTEXT threadContext)
 {
-	if (res<0 || res2<0)
-	{
-		std::cout << io_error(res);
-		std::cout <<"res = " << res << " res2 = " << res2 << "\n";
-		std::cout.flush();
-	}
-		
-	BufferAdapter * buffer = 0;
-	
-	memcpy (&buffer, ((char *) iocb->u.c.buf)+iocb->u.c.nbytes, sizeof (BufferAdapter *));
-	
-//	buffer->completeBlock();
-	
-	free (iocb->u.c.buf);
-	free (iocb);
-//	buffer->deleteRef();
-	
-	
-}*/
-
-
-void FileOutput::stopPoller()
-{
 	pollerRunning = 0;
-	fprintf (stderr,"Setting poller to stop\n"); fflush(stderr);
+	controller->log(threadContext, 2,"Setting poller to stop");
 	// It will wait the Poller to gives up its lock
-	LockClass lock(&fileMutex);
+	LockClass lock(&pollerMutex);
 }
 
 
 void FileOutput::pollEvents(THREAD_CONTEXT threadContext)
 {
 	
-	LockClass lock(&fileMutex);
+	LockClass lock(&pollerMutex);
 	pollerRunning=1;
 	
 	struct timespec oneSecond;
@@ -149,7 +122,7 @@
 	
 	while (pollerRunning)
 	{
-		int result = io_getevents(this->aioContext, 1, MAX_IO, events, &oneSecond);
+		int result = io_getevents(this->aioContext, 1, maxIO, events, &oneSecond);
 		
 #ifdef DEBUG
 		fprintf (stderr, "poll, pollerRunning=%d\n", pollerRunning); fflush(stderr);
@@ -157,7 +130,6 @@
 		
 		if (result > 0)
 		{
-			received += result;
 			
 #ifdef DEBUG
 			fprintf (stdout, "Received %d events\n", result);
@@ -196,21 +168,18 @@
 		}
 	}
 	
-	fprintf (stdout, "Poller finished execution\n");
-	fflush(stdout);
+	controller->log(threadContext, 2, "Poller finished execution");
 	
 }
 
 
-void FileOutput::preAllocate(int blocks, size_t size)
+void FileOutput::preAllocate(THREAD_CONTEXT threadContext, int blocks, size_t size)
 {
 	size_t currentSize = lseek (fileHandle, 0, SEEK_END);
 	
-	std::cout << "currentSize := " << currentSize << "\n";
 	if (currentSize >= blocks * size)
 	{
-		std::cout << "File being reused as requested size=" << size*blocks << " is equals or lower than current file Size=" << currentSize << "\n";
-		std::cout.flush();
+		controller->log(threadContext,2,"File being reused");
 		filePointer=0;
 		return;
 	}
@@ -249,30 +218,36 @@
 // Used only when Paging is disabled (as the user have this option to opt out for Paging)
 void FileOutput::addData(THREAD_CONTEXT threadContext, BufferAdapter * adapter)
 {
+#ifdef TRACE
+	fprintf (stderr,"Getting size\n"); fflush(stderr);
+	fprintf (stderr,"ThreadContext:- %ld\n", (long)threadContext);
+#endif
+	
 	int size = adapter->blockSize(threadContext);
+#ifdef TRACE
+	fprintf (stderr,"Got size\n"); fflush(stderr);
+	fprintf (stderr,"Getting lock\n"); fflush(stderr);
+#endif
 
-	//LockClass lock (&fileMutex);
-	
-	
-	added++;
+	LockClass * lock  = new LockClass(&fileMutex);
 
-//#ifdef SYNC
-//	void * buffer = malloc(size);
-//	adapter->encode(threadContext, size, buffer);
-//	int error=::write(fileHandle, buffer, size);
-//	
-//	if (error<0)
-//	{
-//		throw AIOException (21, io_error(error));
-//	}
-//	free(buffer);
-//	error = ::fsync(fileHandle);
-//	if (error)
-//	{
-//		throw AIOException(20, io_error(error));
-//	}
-//	adapter->done(threadContext);
-//#else
+#ifdef TRACE
+	fprintf (stderr,"Got lock\n"); fflush(stderr);
+#endif
+
+	filePointer+=size;
+
+#ifdef TRACE
+	fprintf (stderr,"Added Size\n"); fflush(stderr);
+#endif
+
+	delete lock;
+	lock = 0;
+
+#ifdef TRACE
+	fprintf (stderr,"Deleted Lock\n"); fflush(stderr);
+#endif
+	
 	void * buffer = 0;
 	//void * buffer = malloc(size + sizeof (BufferAdapter *));
 	if (posix_memalign(&buffer, 512, size))
@@ -283,21 +258,15 @@
 	std::list<BufferAdapter *> * list = new std::list<BufferAdapter *>();
 	list->push_back(adapter);
 	
+	// call encode on JNI
 	adapter->encode(threadContext, size, buffer);
 	
 	struct iocb * iocb = new struct iocb();
 	::io_prep_pwrite(iocb, fileHandle, buffer, size, filePointer);
 	iocb->data = (void *) list;
-	filePointer+=size;
-	if (size > (1024*1024)) // deleteme
-	{
-		std::cout << "submit....."; std::cout.flush();
-	}
+	
 	int result = ::io_submit(aioContext, 1, &iocb);
-	if (size > (1024*1024)) // deleteme
-	{
-		std::cout << "done\n"; std::cout.flush();
-	}
+
 	if (result<0)
 	{
 		std::stringstream str;

Modified: projects/jaio/trunk/jaio/native/src/FileOutput.h
===================================================================
--- projects/jaio/trunk/jaio/native/src/FileOutput.h	2008-02-20 21:44:11 UTC (rev 3748)
+++ projects/jaio/trunk/jaio/native/src/FileOutput.h	2008-02-20 23:15:24 UTC (rev 3749)
@@ -23,12 +23,11 @@
 #include <string>
 #include <libaio.h>
 #include <pthread.h>
-
 #include "PageObserver.h"
 #include "DataManager.h"
 #include "JAIODatatypes.h"
 
-#define MAX_IO 20000
+class AIOController;
 
 class FileOutput : public PageObserver, DataManager
 {
@@ -42,14 +41,14 @@
 	pthread_mutex_t fileMutex;
 	pthread_mutex_t pollerMutex;
 	
-	int added;
-	int received;
+	AIOController * controller;
 	
 	bool pollerRunning;
 	
+	int maxIO;
 	
 public:
-	FileOutput(std::string & _fileName);
+	FileOutput(std::string & _fileName, AIOController * controller, int maxIO);
 	virtual ~FileOutput();
 	void completePage(THREAD_CONTEXT threadContext, long size, void *, std::list<BufferAdapter *> *);
 	void addData(THREAD_CONTEXT threadContext, BufferAdapter * adapter);
@@ -61,17 +60,12 @@
 	
 	
 	// Finishes the polling thread (if any) and return
-	void stopPoller();
+	void stopPoller(THREAD_CONTEXT threadContext);
 	
-	void preAllocate(int numberOfBlocks, size_t size);
+	void preAllocate(THREAD_CONTEXT threadContext, int numberOfBlocks, size_t size);
 	
-	// Nothing to be done on FileOutput 
 	void pollEvents(THREAD_CONTEXT threadContext);
 	
-	void validateLowRate(THREAD_CONTEXT )
-	{
-	}
-	
 };
 
 #endif /*FILEOUTPUT_H_*/

Modified: projects/jaio/trunk/jaio/native/src/LibAIOController.cpp
===================================================================
--- projects/jaio/trunk/jaio/native/src/LibAIOController.cpp	2008-02-20 21:44:11 UTC (rev 3748)
+++ projects/jaio/trunk/jaio/native/src/LibAIOController.cpp	2008-02-20 23:15:24 UTC (rev 3749)
@@ -32,37 +32,45 @@
 #include "JNIBufferAdapter.h"
 #include "AIOException.h"
 
-//using namespace jbm;
-
 /*
  * Class:     org_jboss_jaio_libaioimpl_LibAIOController
  * Method:    init
  * Signature: (Ljava/lang/String;Ljava/lang/Class;)J
  */
-JNIEXPORT jlong JNICALL Java_org_jboss_jaio_libaioimpl_LibAIOController_init__Ljava_lang_String_2Ljava_lang_Class_2
-  (JNIEnv * env, jclass, jstring jstrFileName, jclass clazz)
+JNIEXPORT jlong JNICALL Java_org_jboss_jaio_libaioimpl_LibAIOController_init
+  (JNIEnv * env, jclass, jstring jstrFileName, jclass callbackClass, jint maxIO, jobject logger)
 {
 	try
 	{
 		std::string fileName = convertJavaString(env, jstrFileName);
 		
-		AIOController * controller = new AIOController(fileName);
-		controller->done = env->GetMethodID(clazz,"done","()V");
+		AIOController * controller = new AIOController(fileName, (int) maxIO);
+		controller->done = env->GetMethodID(callbackClass,"done","()V");
 		if (!controller->done) return 0;
 		
-		controller->encode = env->GetMethodID(clazz,"encode","(Ljava/nio/ByteBuffer;)V");
+		controller->encode = env->GetMethodID(callbackClass,"encode","(Ljava/nio/ByteBuffer;)V");
 		if (!controller->encode) return 0;
 		
-		controller->decode = env->GetMethodID(clazz,"decode","(ILjava/nio/ByteBuffer;)V");
+		controller->decode = env->GetMethodID(callbackClass,"decode","(ILjava/nio/ByteBuffer;)V");
 		if (!controller->decode) return 0;
 		
-		controller->encodeSize = env->GetMethodID(clazz,"encodeSize","()I");
+		controller->encodeSize = env->GetMethodID(callbackClass,"encodeSize","()I");
 		if (!controller->encodeSize) return 0;
 		
-		controller->error = env->GetMethodID(clazz, "onError", "(ILjava/lang/String;)V");
+		controller->error = env->GetMethodID(callbackClass, "onError", "(ILjava/lang/String;)V");
         if (!controller->error) return 0;
+        
+        jclass loggerClass = env->GetObjectClass(logger);
+        
+        if (!(controller->loggerDebug = env->GetMethodID(loggerClass, "debug", "(Ljava/lang/String;)V"))) return 0;
+        if (!(controller->loggerWarn = env->GetMethodID(loggerClass, "warn", "(Ljava/lang/String;)V"))) return 0;
+        if (!(controller->loggerInfo = env->GetMethodID(loggerClass, "info", "(Ljava/lang/String;)V"))) return 0;
+        if (!(controller->loggerError = env->GetMethodID(loggerClass, "error", "(Ljava/lang/String;)V"))) return 0;
+        
+        controller->logger = env->NewGlobalRef(logger);
+        
+        controller->log(env,4, "Controller initialized");
 		
-		
 	    return (jlong)controller;
 	}
 	catch (AIOException& e){
@@ -71,43 +79,6 @@
 	}
 }
 
-/*
- * Class:     org_jboss_jaio_libaioimpl_LibAIOController
- * Method:    init
- * Signature: (Ljava/lang/String;ILjava/lang/Class;)J
- */
-JNIEXPORT jlong JNICALL Java_org_jboss_jaio_libaioimpl_LibAIOController_init__Ljava_lang_String_2ILjava_lang_Class_2
-  (JNIEnv * env, jclass, jstring jstrFileName, jint pageSize, jclass clazz)
-{
-	try
-	{
-		std::string fileName = convertJavaString(env, jstrFileName);
-		
-		AIOController * controller = new AIOController(fileName, pageSize);
-		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->error = env->GetMethodID(clazz,"onError","(ILjava/lang/String;)V");
-		
-	    return (jlong)controller;
-	}
-	catch (AIOException& e){
-		throwException(env, "java/lang/RuntimeException", e.what());
-		return 0;
-	}
-	
-}
-
-
 JNIEXPORT void JNICALL Java_org_jboss_jaio_libaioimpl_LibAIOController_append
   (JNIEnv *env, jclass, jlong controllerAddress, jobject obj)
 {
@@ -147,7 +118,8 @@
 	try
 	{
 		AIOController * controller = (AIOController *) controllerAddress;
-		controller->fileOutput.stopPoller();
+		controller->fileOutput.stopPoller(env);
+		controller->destroy(env);
 		delete controller;
 	}
 	catch (AIOException& e)
@@ -162,7 +134,7 @@
 	try
 	{
 		AIOController * controller = (AIOController *) controllerAddress;
-		controller->fileOutput.preAllocate(blocks, size);
+		controller->fileOutput.preAllocate(env, blocks, size);
 	}
 	catch (AIOException& e)
 	{

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-20 21:44:11 UTC (rev 3748)
+++ projects/jaio/trunk/jaio/native/src/org_jboss_jaio_libaioimpl_LibAIOController.h	2008-02-20 23:15:24 UTC (rev 3749)
@@ -7,24 +7,17 @@
 #ifdef __cplusplus
 extern "C" {
 #endif
+/* Inaccessible static: log */
 /*
  * Class:     org_jboss_jaio_libaioimpl_LibAIOController
  * Method:    init
- * Signature: (Ljava/lang/String;Ljava/lang/Class;)J
+ * Signature: (Ljava/lang/String;Ljava/lang/Class;ILorg/jboss/jaio/api/logging/Logger;)J
  */
-JNIEXPORT jlong JNICALL Java_org_jboss_jaio_libaioimpl_LibAIOController_init__Ljava_lang_String_2Ljava_lang_Class_2
-  (JNIEnv *, jclass, jstring, jclass);
+JNIEXPORT jlong JNICALL Java_org_jboss_jaio_libaioimpl_LibAIOController_init
+  (JNIEnv *, jclass, jstring, jclass, jint, jobject);
 
 /*
  * Class:     org_jboss_jaio_libaioimpl_LibAIOController
- * Method:    init
- * Signature: (Ljava/lang/String;ILjava/lang/Class;)J
- */
-JNIEXPORT jlong JNICALL Java_org_jboss_jaio_libaioimpl_LibAIOController_init__Ljava_lang_String_2ILjava_lang_Class_2
-  (JNIEnv *, jclass, jstring, jint, jclass);
-
-/*
- * Class:     org_jboss_jaio_libaioimpl_LibAIOController
  * Method:    append
  * Signature: (JLorg/jboss/jaio/api/AIOPackage;)V
  */




More information about the jboss-cvs-commits mailing list