#include "lock_policy.h"
-namespace ceph::internal {
+namespace ceph {
template<class ConfigProxy> class md_config_obs_impl;
}
struct md_config_t;
class ConfigProxy;
-using md_config_obs_t =
- ceph::internal::md_config_obs_impl<ConfigProxy>;
+using md_config_obs_t = ceph::md_config_obs_impl<ConfigProxy>;
#include "common/config_fwd.h"
-namespace ceph::internal {
-
+namespace ceph {
/** @brief Base class for configuration observers.
* Use this as a base class for your object if it has to respond to configuration changes,
* for example by updating some values or modifying its behavior.
const std::set<int>& changed) { }
};
}
-
#endif
class SharedLRUTest;
-namespace ceph::internal {
+namespace ceph {
// empty helper class except when the template argument is LockPolicy::MUTEX
template<LockPolicy lock_policy>
friend class ::SharedLRUTest;
};
-} // namespace ceph::internal
+} // namespace ceph
+
class SharedLRUTest;
-namespace ceph::internal {
+namespace ceph {
template<LockPolicy lp> class LockCond;
friend class ::SharedLRUTest;
};
-} // namespace ceph::internal
+} // namespace ceph
#pragma once
-namespace ceph::internal {
+namespace ceph {
enum class LockPolicy {
SINGLE,
#include <memory>
#include <boost/smart_ptr/local_shared_ptr.hpp>
-namespace ceph::internal {
+namespace ceph {
template<LockPolicy lock_policy>
struct SharedPtrTrait {
#include "include/assert.h"
template <class K, class V,
- ceph::internal::LockPolicy lock_policy = ceph::internal::LockPolicy::MUTEX>
+ ceph::LockPolicy lock_policy = ceph::LockPolicy::MUTEX>
class SharedLRU {
CephContext *cct;
- using shared_ptr_trait_t = ceph::internal::SharedPtrTrait<lock_policy>;
+ using shared_ptr_trait_t = SharedPtrTrait<lock_policy>;
using VPtr = typename shared_ptr_trait_t::template shared_ptr<V>;
using WeakVPtr = typename shared_ptr_trait_t::template weak_ptr<V>;
- ceph::internal::LockMutex<lock_policy> lock;
+ LockMutex<lock_policy> lock;
size_t max_size;
- ceph::internal::LockCond<lock_policy> cond;
+ LockCond<lock_policy> cond;
unsigned size;
public:
int waiting;
md_config_t* remote_config = nullptr;
std::unique_ptr<md_config_t> local_config;
- using ConfigObserver = ceph::internal::md_config_obs_impl<ConfigProxy>;
+ using ConfigObserver = ceph::md_config_obs_impl<ConfigProxy>;
ObserverMgr<ConfigObserver> obs_mgr;
const md_config_t& get_config() const {