diff options
author | bothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-02-29 19:12:45 +0000 |
---|---|---|
committer | bothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-02-29 19:12:45 +0000 |
commit | b4be9bd25f9728e4ca31b1df051ecdb2032d13eb (patch) | |
tree | 6155bc36cc7e756e68cb50c120caf6905518447d /libjava/java/nio/MappedByteBuffer.java | |
parent | 01bd62a613b67cc22b7ac56aae455e5c530ad136 (diff) | |
download | ppe42-gcc-b4be9bd25f9728e4ca31b1df051ecdb2032d13eb.tar.gz ppe42-gcc-b4be9bd25f9728e4ca31b1df051ecdb2032d13eb.zip |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78662 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/nio/MappedByteBuffer.java')
-rw-r--r-- | libjava/java/nio/MappedByteBuffer.java | 30 |
1 files changed, 24 insertions, 6 deletions
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(); } } |