From 92a6d2c1476fd562721f231f89afba9342ed8a20 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Fri, 26 Sep 2014 12:29:04 +0200 Subject: Bug 1080 - Add write support for memory mapped big file I/O via specialized OutputStream impl. Added MappedByteBufferOutputStream as a child instance of MappedByteBufferInputStream, since the latter already manages the file's mapped buffer slices. Current design is: - MappedByteBufferInputStream (parent) - MappedByteBufferOutputStream this is due to InputStream and OutputStream not being interfaces, but most functionality is provided in one class. We could redesign both as follows: - MappedByteBufferIOStream (parent) - MappedByteBufferInputStream - MappedByteBufferOutputStream This might visualize things better .. dunno whether its worth the extra redirection. +++ MappedByteBufferInputStream: - Adding [file] resize support via custom FileResizeOp - All construction happens via ctors - Handle refCount, incr. by ctor and getOutputStream(..), decr by close - Check whether stream is closed already -> IOException - Simplify / Reuse code MappedByteBufferOutputStream: - Adding simple write operations --- make/scripts/runtest-x32.bat | 4 +++- make/scripts/runtest-x64.bat | 4 +++- make/scripts/runtest.sh | 5 +++-- 3 files changed, 9 insertions(+), 4 deletions(-) (limited to 'make') diff --git a/make/scripts/runtest-x32.bat b/make/scripts/runtest-x32.bat index 5a2739c..749e769 100755 --- a/make/scripts/runtest-x32.bat +++ b/make/scripts/runtest-x32.bat @@ -2,7 +2,9 @@ REM scripts\java-win32.bat com.jogamp.common.GlueGenVersion REM scripts\java-win32.bat com.jogamp.common.util.TestVersionInfo REM scripts\java-win32.bat com.jogamp.gluegen.test.junit.generation.Test1p1JavaEmitter REM scripts\java-win32.bat com.jogamp.gluegen.test.junit.generation.Test1p2ProcAddressEmitter -scripts\java-win32.bat com.jogamp.common.util.TestTempJarCache +REM scripts\java-win32.bat com.jogamp.common.util.TestTempJarCache REM scripts\java-win32.bat com.jogamp.common.os.TestElfReader01 REM scripts\java-win32.bat com.jogamp.common.util.TestIOUtilURIHandling +REM scripts\java-win32.bat com.jogamp.common.nio.TestByteBufferInputStream +scripts\java-win32.bat com.jogamp.common.nio.TestByteBufferOutputStream diff --git a/make/scripts/runtest-x64.bat b/make/scripts/runtest-x64.bat index 4344c75..4453427 100755 --- a/make/scripts/runtest-x64.bat +++ b/make/scripts/runtest-x64.bat @@ -11,6 +11,8 @@ REM scripts\java-win64.bat com.jogamp.common.net.TestUrisWithAssetHandler REM scripts\java-win64.bat com.jogamp.common.net.TestURIQueryProps REM scripts\java-win64.bat com.jogamp.common.net.TestUri01 REM scripts\java-win64.bat com.jogamp.common.net.TestUri02Composing -scripts\java-win64.bat com.jogamp.common.net.TestUri03Resolving +REM scripts\java-win64.bat com.jogamp.common.net.TestUri03Resolving REM scripts\java-win64.bat com.jogamp.common.net.TestUri99LaunchOnReservedCharPathBug908 +REM scripts\java-win32.bat com.jogamp.common.nio.TestByteBufferInputStream +scripts\java-win32.bat com.jogamp.common.nio.TestByteBufferOutputStream diff --git a/make/scripts/runtest.sh b/make/scripts/runtest.sh index fa3d8ae..c2f3764 100755 --- a/make/scripts/runtest.sh +++ b/make/scripts/runtest.sh @@ -56,7 +56,7 @@ rm -f $LOG #D_ARGS="-Djogamp.debug.Lock -Djogamp.debug.Lock.TraceLock" #D_ARGS="-Djogamp.debug.Lock.TraceLock" #D_ARGS="-Djogamp.debug.IOUtil" -#D_ARGS="-Djogamp.debug.ByteBufferInputStream" +D_ARGS="-Djogamp.debug.ByteBufferInputStream" #D_ARGS="-Djogamp.debug.Bitstream" #D_ARGS="-Djogamp.debug=all" @@ -123,7 +123,8 @@ function onetest() { #onetest com.jogamp.common.nio.TestBuffersFloatDoubleConversion 2>&1 | tee -a $LOG #onetest com.jogamp.common.nio.TestPointerBufferEndian 2>&1 | tee -a $LOG #onetest com.jogamp.common.nio.TestStructAccessorEndian 2>&1 | tee -a $LOG -onetest com.jogamp.common.nio.TestByteBufferInputStream 2>&1 | tee -a $LOG +#onetest com.jogamp.common.nio.TestByteBufferInputStream 2>&1 | tee -a $LOG +onetest com.jogamp.common.nio.TestByteBufferOutputStream 2>&1 | tee -a $LOG #onetest com.jogamp.common.os.TestElfReader01 2>&1 | tee -a $LOG #onetest com.jogamp.gluegen.PCPPTest 2>&1 | tee -a $LOG #onetest com.jogamp.gluegen.test.junit.generation.Test1p1JavaEmitter 2>&1 | tee -a $LOG -- cgit v1.2.3