aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/core/framework/resource_mgr.h
diff options
context:
space:
mode:
Diffstat (limited to 'tensorflow/core/framework/resource_mgr.h')
-rw-r--r--tensorflow/core/framework/resource_mgr.h32
1 files changed, 12 insertions, 20 deletions
diff --git a/tensorflow/core/framework/resource_mgr.h b/tensorflow/core/framework/resource_mgr.h
index 26a5766569..0e1a5a82d3 100644
--- a/tensorflow/core/framework/resource_mgr.h
+++ b/tensorflow/core/framework/resource_mgr.h
@@ -202,9 +202,20 @@ class ResourceMgr {
// Makes a resource handle with the specified type for a given container /
// name.
+ResourceHandle MakeResourceHandle(OpKernelContext* ctx, const string& container,
+ const string& name,
+ const TypeIndex& type_index);
+
template <typename T>
ResourceHandle MakeResourceHandle(OpKernelContext* ctx, const string& container,
- const string& name);
+ const string& name) {
+ return MakeResourceHandle(ctx, container, name, MakeTypeIndex<T>());
+}
+
+Status MakeResourceHandleToOutput(OpKernelContext* context, int output_index,
+ const string& container, const string& name,
+ const TypeIndex& type_index);
+
template <typename T>
ResourceHandle MakePerStepResourceHandle(OpKernelContext* ctx,
const string& name);
@@ -424,25 +435,6 @@ Status GetResourceFromContext(OpKernelContext* ctx, const string& input_name,
}
template <typename T>
-ResourceHandle MakeResourceHandle(OpKernelContext* ctx, const string& container,
- const string& name) {
- ResourceHandle result;
- result.set_device(ctx->device()->attributes().name());
- string actual_container;
- if (!container.empty()) {
- actual_container = container;
- } else {
- actual_container = ctx->resource_manager()->default_container();
- }
- result.set_container(actual_container);
- result.set_name(name);
- auto type_index = MakeTypeIndex<T>();
- result.set_hash_code(type_index.hash_code());
- result.set_maybe_type_name(type_index.name());
- return result;
-}
-
-template <typename T>
ResourceHandle MakePerStepResourceHandle(OpKernelContext* ctx,
const string& name) {
return MakeResourceHandle<T>(ctx, ctx->step_container()->name(), name);