summaryrefslogtreecommitdiffstats
path: root/sched
diff options
context:
space:
mode:
authorBenoit Lamarche <benoitlamarche@google.com>2015-01-16 15:27:15 +0100
committerBenoit Lamarche <benoitlamarche@google.com>2015-01-19 11:43:57 +0100
commitc18c09de7113fca856214fe27f539a89368f00d8 (patch)
treeaa314a3e9aaf119dbe8bf10144cdbb38e9a64402 /sched
parent488686950112de6fee3bd74b15a97bc27323e740 (diff)
downloadtoolchain_jack-c18c09de7113fca856214fe27f539a89368f00d8.tar.gz
toolchain_jack-c18c09de7113fca856214fe27f539a89368f00d8.tar.bz2
toolchain_jack-c18c09de7113fca856214fe27f539a89368f00d8.zip
Add method "needsSequentialWriting" to VFS
Change-Id: I61a1994284503ab17adfb71102cb6f6c8f44dfa9
Diffstat (limited to 'sched')
-rw-r--r--sched/src/com/android/sched/vfs/DeflateFS.java5
-rw-r--r--sched/src/com/android/sched/vfs/DirectFS.java5
-rw-r--r--sched/src/com/android/sched/vfs/DirectVFS.java5
-rw-r--r--sched/src/com/android/sched/vfs/GenericInputOutputVFS.java5
-rw-r--r--sched/src/com/android/sched/vfs/GenericOutputVFS.java5
-rw-r--r--sched/src/com/android/sched/vfs/InputOutputZipVFS.java5
-rw-r--r--sched/src/com/android/sched/vfs/MessageDigestOutputVFS.java5
-rw-r--r--sched/src/com/android/sched/vfs/OutputVFS.java2
-rw-r--r--sched/src/com/android/sched/vfs/OutputZipVFS.java5
-rw-r--r--sched/src/com/android/sched/vfs/PrefixedOutputVFS.java8
-rw-r--r--sched/src/com/android/sched/vfs/VFS.java2
11 files changed, 52 insertions, 0 deletions
diff --git a/sched/src/com/android/sched/vfs/DeflateFS.java b/sched/src/com/android/sched/vfs/DeflateFS.java
index 71e69741..9fcda5ac 100644
--- a/sched/src/com/android/sched/vfs/DeflateFS.java
+++ b/sched/src/com/android/sched/vfs/DeflateFS.java
@@ -138,4 +138,9 @@ public class DeflateFS extends BaseVFS<BaseVDir, BaseVFile> implements VFS{
dir.changeVFS(this);
return dir;
}
+
+ @Override
+ public boolean needsSequentialWriting() {
+ return vfs.needsSequentialWriting();
+ }
}
diff --git a/sched/src/com/android/sched/vfs/DirectFS.java b/sched/src/com/android/sched/vfs/DirectFS.java
index 1e8b761d..a55df61b 100644
--- a/sched/src/com/android/sched/vfs/DirectFS.java
+++ b/sched/src/com/android/sched/vfs/DirectFS.java
@@ -307,4 +307,9 @@ public class DirectFS extends BaseVFS<DirectVDir, DirectVFile> implements VFS {
return new DirectNonRootVDir(this, parent, name);
}
+
+ @Override
+ public boolean needsSequentialWriting() {
+ return false;
+ }
}
diff --git a/sched/src/com/android/sched/vfs/DirectVFS.java b/sched/src/com/android/sched/vfs/DirectVFS.java
index b1ca1fbc..a296d0e9 100644
--- a/sched/src/com/android/sched/vfs/DirectVFS.java
+++ b/sched/src/com/android/sched/vfs/DirectVFS.java
@@ -55,4 +55,9 @@ public class DirectVFS extends AbstractInputOutputVFS implements ParallelOutputV
public String getPath() {
return dir.getPath();
}
+
+ @Override
+ public boolean needsSequentialWriting() {
+ return false;
+ }
}
diff --git a/sched/src/com/android/sched/vfs/GenericInputOutputVFS.java b/sched/src/com/android/sched/vfs/GenericInputOutputVFS.java
index ba4464ba..d0b37725 100644
--- a/sched/src/com/android/sched/vfs/GenericInputOutputVFS.java
+++ b/sched/src/com/android/sched/vfs/GenericInputOutputVFS.java
@@ -67,4 +67,9 @@ public class GenericInputOutputVFS extends AbstractVFS implements InputOutputVFS
public OutputVDir getRootOutputVDir() {
return new GenericOutputVDir(vfs.getRootDir());
}
+
+ @Override
+ public boolean needsSequentialWriting() {
+ return vfs.needsSequentialWriting();
+ }
}
diff --git a/sched/src/com/android/sched/vfs/GenericOutputVFS.java b/sched/src/com/android/sched/vfs/GenericOutputVFS.java
index 26a8bda3..410964e0 100644
--- a/sched/src/com/android/sched/vfs/GenericOutputVFS.java
+++ b/sched/src/com/android/sched/vfs/GenericOutputVFS.java
@@ -55,5 +55,10 @@ public class GenericOutputVFS extends AbstractVFS implements OutputVFS {
public void close() throws IOException {
vfs.close();
}
+
+ @Override
+ public boolean needsSequentialWriting() {
+ return vfs.needsSequentialWriting();
+ }
}
diff --git a/sched/src/com/android/sched/vfs/InputOutputZipVFS.java b/sched/src/com/android/sched/vfs/InputOutputZipVFS.java
index 680712e4..e5aaa6c1 100644
--- a/sched/src/com/android/sched/vfs/InputOutputZipVFS.java
+++ b/sched/src/com/android/sched/vfs/InputOutputZipVFS.java
@@ -106,4 +106,9 @@ public class InputOutputZipVFS extends AbstractInputOutputVFS implements InputOu
synchronized boolean isClosed() {
return closed;
}
+
+ @Override
+ public boolean needsSequentialWriting() {
+ return false;
+ }
}
diff --git a/sched/src/com/android/sched/vfs/MessageDigestOutputVFS.java b/sched/src/com/android/sched/vfs/MessageDigestOutputVFS.java
index 7d5aa3d2..7172e56d 100644
--- a/sched/src/com/android/sched/vfs/MessageDigestOutputVFS.java
+++ b/sched/src/com/android/sched/vfs/MessageDigestOutputVFS.java
@@ -232,4 +232,9 @@ public class MessageDigestOutputVFS extends MessageDigestVFS implements OutputVF
private synchronized void addFile(@Nonnull MessageDigestOutputVFile file) {
files.add(file);
}
+
+ @Override
+ public boolean needsSequentialWriting() {
+ return vfs.needsSequentialWriting();
+ }
}
diff --git a/sched/src/com/android/sched/vfs/OutputVFS.java b/sched/src/com/android/sched/vfs/OutputVFS.java
index ffa972d1..d7018c0e 100644
--- a/sched/src/com/android/sched/vfs/OutputVFS.java
+++ b/sched/src/com/android/sched/vfs/OutputVFS.java
@@ -30,4 +30,6 @@ public interface OutputVFS extends HasLocation, Closeable {
String getPath();
@Nonnull
OutputVDir getRootOutputVDir();
+
+ boolean needsSequentialWriting();
}
diff --git a/sched/src/com/android/sched/vfs/OutputZipVFS.java b/sched/src/com/android/sched/vfs/OutputZipVFS.java
index 8ac0e45a..622732b0 100644
--- a/sched/src/com/android/sched/vfs/OutputZipVFS.java
+++ b/sched/src/com/android/sched/vfs/OutputZipVFS.java
@@ -75,4 +75,9 @@ public class OutputZipVFS extends AbstractOutputVFS implements SequentialOutputV
public String getPath() {
return file.getPath();
}
+
+ @Override
+ public boolean needsSequentialWriting() {
+ return true;
+ }
}
diff --git a/sched/src/com/android/sched/vfs/PrefixedOutputVFS.java b/sched/src/com/android/sched/vfs/PrefixedOutputVFS.java
index 92621f36..262c24db 100644
--- a/sched/src/com/android/sched/vfs/PrefixedOutputVFS.java
+++ b/sched/src/com/android/sched/vfs/PrefixedOutputVFS.java
@@ -29,6 +29,8 @@ import javax.annotation.Nonnull;
*/
public class PrefixedOutputVFS extends AbstractOutputVFS {
+ private final boolean needsSequentialWriting;
+
public PrefixedOutputVFS(@Nonnull InputOutputVFS outputVFS, @Nonnull VPath path)
throws NotDirectoryException, CannotCreateFileException {
InputOutputVDir previousRootDir = outputVFS.getRootInputOutputVDir();
@@ -39,6 +41,7 @@ public class PrefixedOutputVFS extends AbstractOutputVFS {
newRootDir = previousRootDir.createOutputVDir(path);
}
setRootDir(newRootDir);
+ needsSequentialWriting = outputVFS.needsSequentialWriting();
}
@Override
@@ -57,4 +60,9 @@ public class PrefixedOutputVFS extends AbstractOutputVFS {
public void close() {
// do not actually close
}
+
+ @Override
+ public boolean needsSequentialWriting() {
+ return needsSequentialWriting;
+ }
}
diff --git a/sched/src/com/android/sched/vfs/VFS.java b/sched/src/com/android/sched/vfs/VFS.java
index 27f2dc25..4772ec2f 100644
--- a/sched/src/com/android/sched/vfs/VFS.java
+++ b/sched/src/com/android/sched/vfs/VFS.java
@@ -31,4 +31,6 @@ public interface VFS extends HasLocation, Closeable {
@Nonnull
VDir getRootDir();
+
+ boolean needsSequentialWriting();
}