21 #include "boost/function.hpp"
22 #include "boost/shared_ptr.hpp"
23 #include "soss_client/soss_key.h"
24 #include "soss_client/object_policy.h"
46 : use_client_cache_(true), throw_on_error_(true), max_lock_retry_count_(20000), lock_retry_interval_ms_(5) {}
55 : use_client_cache_(use_client_cache), throw_on_error_(throw_on_error), max_lock_retry_count_(max_lock_retry_count), lock_retry_interval_ms_(lock_retry_interval_ms) {}
59 : use_client_cache_(other.use_client_cache_),
60 throw_on_error_(other.throw_on_error_),
61 max_lock_retry_count_(other.max_lock_retry_count_),
62 lock_retry_interval_ms_(other.lock_retry_interval_ms_),
63 missed_object_callback_(other.missed_object_callback_)
65 if (other.missing_object_policy_)
66 missing_object_policy_ = std::unique_ptr<ObjectPolicy>(
new ObjectPolicy(*other.missing_object_policy_));
74 use_client_cache_ = rhs.use_client_cache_;
75 throw_on_error_ = rhs.throw_on_error_;
76 max_lock_retry_count_ = rhs.max_lock_retry_count_;
77 lock_retry_interval_ms_ = rhs.lock_retry_interval_ms_;
78 missed_object_callback_ = rhs.missed_object_callback_;
79 if (rhs.missing_object_policy_)
80 missing_object_policy_ = std::unique_ptr<ObjectPolicy>(
new ObjectPolicy(*rhs.missing_object_policy_));
176 bool use_client_cache_;
177 bool throw_on_error_;
178 int32_t max_lock_retry_count_;
179 int32_t lock_retry_interval_ms_;
182 boost::function<boost::shared_ptr<T>(
const SossKey &key)> missed_object_callback_;
185 std::unique_ptr<ObjectPolicy> missing_object_policy_;
188 template<
typename T>
const GetOptions<T> GetOptions<T>::CACHE_DEFAULTS = GetOptions<T>();