summaryrefslogtreecommitdiffstats
path: root/libjava/java/nio/MappedByteBuffer.java
diff options
context:
space:
mode:
authorbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>2004-02-29 19:12:45 +0000
committerbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>2004-02-29 19:12:45 +0000
commitb4be9bd25f9728e4ca31b1df051ecdb2032d13eb (patch)
tree6155bc36cc7e756e68cb50c120caf6905518447d /libjava/java/nio/MappedByteBuffer.java
parent01bd62a613b67cc22b7ac56aae455e5c530ad136 (diff)
downloadppe42-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.java30
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(); }
}
OpenPOWER on IntegriCloud