From d199feb74801bcbcf2306ae4f40866814f1099dc Mon Sep 17 00:00:00 2001 From: Per Bothner Date: Sun, 29 Feb 2004 11:12:45 -0800 Subject: MappedByteBuffer.java: (forceImpl... * java/nio/MappedByteBuffer.java: (forceImpl, isLoadedImpl, loadImpl, unmapImpl): New dummy methods, to be overridden by subclass. (finalize, isLoaded, load, force): New methods. * java/nio/MappedByteBufferImpl.java: More-or-less rewrite. Now works, at least for read mapping. From-SVN: r78662 --- libjava/java/nio/MappedByteBuffer.java | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) (limited to 'libjava/java/nio/MappedByteBuffer.java') diff --git a/libjava/java/nio/MappedByteBuffer.java b/libjava/java/nio/MappedByteBuffer.java index 8f4b872cd11..29b0453cbba 100644 --- a/libjava/java/nio/MappedByteBuffer.java +++ b/libjava/java/nio/MappedByteBuffer.java @@ -44,28 +44,46 @@ package java.nio; */ public abstract class MappedByteBuffer extends ByteBuffer { - private boolean loaded = false; - MappedByteBuffer (int capacity, int limit, int position, int mark) { super (capacity, limit, position, mark); } + void forceImpl() + { + } + public final MappedByteBuffer force () { - // FIXME: Flush to disk here. + forceImpl(); return this; } + boolean isLoadedImpl() + { + load(); + return true; + } + public final boolean isLoaded () { - return loaded; + return isLoadedImpl(); } + void loadImpl() + { + } + public final MappedByteBuffer load () { - // FIXME: Try to load all pages into memory. - loaded = true; + loadImpl(); return this; } + + void unmapImpl () + { + forceImpl(); + } + + public void finalize () { unmapImpl(); } } -- cgit v1.2.3