16 #ifndef TENSORFLOW_SERVING_CORE_CACHING_MANAGER_H_
17 #define TENSORFLOW_SERVING_CORE_CACHING_MANAGER_H_
24 #include "tensorflow_serving/core/basic_manager.h"
25 #include "tensorflow_serving/core/manager.h"
26 #include "tensorflow_serving/core/source_adapter.h"
28 namespace tensorflow {
32 class CachingManagerTestAccess;
52 std::unique_ptr<ResourceTracker> resource_tracker;
57 uint32 num_load_threads = 0;
62 uint32 num_unload_threads = 0;
70 uint32 max_num_load_retries = 5;
75 int64_t load_retry_interval_micros = 1LL * 60 * 1000 * 1000;
78 Env* env = Env::Default();
96 const string& servable_name,
97 ServableRequest::AutoVersionPolicy policy)
const = 0;
100 static Status Create(
Options options,
101 std::unique_ptr<LoaderFactory> loader_factory,
102 std::unique_ptr<CachingManager>* caching_manager);
106 std::map<ServableId, std::unique_ptr<UntypedServableHandle>>
107 GetAvailableUntypedServableHandles()
const override;
115 std::unique_ptr<BasicManager> basic_manager);
123 Status GetUntypedServableHandle(
125 std::unique_ptr<UntypedServableHandle>* handle)
override;
128 Status GetUntypedServableHandleForId(
130 std::unique_ptr<UntypedServableHandle>* handle);
137 Status LoadServable(
ServableData<std::unique_ptr<Loader>> loader_data)
138 TF_LOCKS_EXCLUDED(load_mutex_map_mu_);
141 int64_t GetLoadMutexMapSize() const TF_LOCKS_EXCLUDED(load_mutex_map_mu_);
145 void MaybeEraseLoadMutexMapEntry(const
ServableId& servable_id);
152 mutable mutex load_mutex_map_mu_;
158 std::map<
ServableId, std::shared_ptr<mutex>> load_mutex_map_
159 TF_GUARDED_BY(load_mutex_map_mu_);
170 std::unique_ptr<StoragePathSourceAdapter> adapter);
176 int64_t GetServableVersion(
177 const string& servable_name,
178 ServableRequest::AutoVersionPolicy policy)
const override;
182 const string path_prefix_;
185 const std::unique_ptr<StoragePathSourceAdapter> adapter_;
virtual ServableData< std::unique_ptr< Loader > > CreateLoader(const ServableId &servable_id)=0
virtual int64_t GetServableVersion(const string &servable_name, ServableRequest::AutoVersionPolicy policy) const =0
std::vector< ServableId > ListAvailableServableIds() const override