From: Carsten W. <ca...@us...> - 2004-11-10 20:41:50
|
Update of /cvsroot/jake2/jake2/src/jake2/qcommon In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24485/src/jake2/qcommon Modified Files: FS.java Log Message: pak file is mmapped and buffers will be sliced Index: FS.java =================================================================== RCS file: /cvsroot/jake2/jake2/src/jake2/qcommon/FS.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** FS.java 28 Oct 2004 21:09:11 -0000 1.11 --- FS.java 10 Nov 2004 20:41:40 -0000 1.12 *************** *** 72,75 **** --- 72,77 ---- RandomAccessFile handle; + + ByteBuffer backbuffer; int numfiles; *************** *** 450,458 **** } // open a new file on the pakfile ! ! channel = pak.handle.getChannel(); ! buffer = channel.map(FileChannel.MapMode.READ_ONLY, ! entry.filepos, entry.filelen); ! channel.close(); return buffer; } --- 452,465 ---- } // open a new file on the pakfile ! if (pak.backbuffer == null) { ! channel = pak.handle.getChannel(); ! pak.backbuffer = channel.map( ! FileChannel.MapMode.READ_ONLY, 0, ! pak.handle.length()); ! channel.close(); ! } ! pak.backbuffer.position(entry.filepos); ! buffer = pak.backbuffer.slice(); ! buffer.limit(entry.filelen); return buffer; } |