aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/actions
diff options
context:
space:
mode:
authorGravatar ulfjack <ulfjack@google.com>2017-07-20 22:22:36 +0200
committerGravatar Klaus Aehlig <aehlig@google.com>2017-07-21 09:15:38 +0200
commit5b99e50da3e57ffe8ab14e453f28e590a299255f (patch)
tree7c418080e03fbb78c752e5ba9f24c1f71e5de276 /src/main/java/com/google/devtools/build/lib/actions
parentc003cc2c1d40784cfa24c77388c72ca6bf056592 (diff)
Move ActionInputPrefetcher to the actions package
The plan is to add it to ActionExecutionContext, which is also there. PiperOrigin-RevId: 162656835
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/actions')
-rw-r--r--src/main/java/com/google/devtools/build/lib/actions/ActionInputPrefetcher.java32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/actions/ActionInputPrefetcher.java b/src/main/java/com/google/devtools/build/lib/actions/ActionInputPrefetcher.java
new file mode 100644
index 0000000000..92c6325c21
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/actions/ActionInputPrefetcher.java
@@ -0,0 +1,32 @@
+// Copyright 2016 The Bazel Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+package com.google.devtools.build.lib.actions;
+
+/** Prefetches files to local disk. */
+public interface ActionInputPrefetcher {
+ public static final ActionInputPrefetcher NONE =
+ new ActionInputPrefetcher() {
+ @Override
+ public void prefetchFiles(Iterable<? extends ActionInput> input) {
+ // Do nothing.
+ }
+ };
+
+ /**
+ * Initiates best-effort prefetching of all given inputs. This should not block.
+ *
+ * <p>For any path not under this prefetcher's control, the call should be a no-op.
+ */
+ void prefetchFiles(Iterable<? extends ActionInput> input);
+}