aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/poco/Foundation/include/Poco/AccessExpireStrategy.h
diff options
context:
space:
mode:
authororivej <orivej@yandex-team.ru>2022-02-10 16:44:49 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:44:49 +0300
commit718c552901d703c502ccbefdfc3c9028d608b947 (patch)
tree46534a98bbefcd7b1f3faa5b52c138ab27db75b7 /contrib/libs/poco/Foundation/include/Poco/AccessExpireStrategy.h
parente9656aae26e0358d5378e5b63dcac5c8dbe0e4d0 (diff)
downloadydb-718c552901d703c502ccbefdfc3c9028d608b947.tar.gz
Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/libs/poco/Foundation/include/Poco/AccessExpireStrategy.h')
-rw-r--r--contrib/libs/poco/Foundation/include/Poco/AccessExpireStrategy.h148
1 files changed, 74 insertions, 74 deletions
diff --git a/contrib/libs/poco/Foundation/include/Poco/AccessExpireStrategy.h b/contrib/libs/poco/Foundation/include/Poco/AccessExpireStrategy.h
index 3bfa45c21f..6a3b926adf 100644
--- a/contrib/libs/poco/Foundation/include/Poco/AccessExpireStrategy.h
+++ b/contrib/libs/poco/Foundation/include/Poco/AccessExpireStrategy.h
@@ -1,74 +1,74 @@
-//
-// AccessExpireStrategy.h
-//
-// Library: Foundation
-// Package: Cache
-// Module: AccessExpireStrategy
-//
-// Definition of the AccessExpireStrategy class.
-//
-// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
-// and Contributors.
-//
-// SPDX-License-Identifier: BSL-1.0
-//
-
-
-#ifndef Foundation_AccessExpireStrategy_INCLUDED
-#define Foundation_AccessExpireStrategy_INCLUDED
-
-
-#include "Poco/KeyValueArgs.h"
-#include "Poco/ValidArgs.h"
-#include "Poco/ExpireStrategy.h"
-#include "Poco/Bugcheck.h"
-#include "Poco/Timestamp.h"
-#include "Poco/EventArgs.h"
-#include <set>
-#include <map>
-
-
-namespace Poco {
-
-
-template <
- class TKey,
- class TValue
->
-class AccessExpireStrategy: public ExpireStrategy<TKey, TValue>
- /// An AccessExpireStrategy implements time and access based expiration of cache entries
-{
-public:
- AccessExpireStrategy(Timestamp::TimeDiff expireTimeInMilliSec): ExpireStrategy<TKey, TValue>(expireTimeInMilliSec)
- /// Create an expire strategy. Note that the smallest allowed caching time is 25ms.
- /// Anything lower than that is not useful with current operating systems.
- {
- }
-
- ~AccessExpireStrategy()
- {
- }
-
- void onGet(const void*, const TKey& key)
- {
- // get triggers an update to the expiration time
- typename ExpireStrategy<TKey, TValue>::Iterator it = this->_keys.find(key);
- if (it != this->_keys.end())
- {
- if (!it->second->first.isElapsed(this->_expireTime)) // don't extend if already expired
- {
- this->_keyIndex.erase(it->second);
- Timestamp now;
- typename ExpireStrategy<TKey, TValue>::IndexIterator itIdx =
- this->_keyIndex.insert(typename ExpireStrategy<TKey, TValue>::TimeIndex::value_type(now, key));
- it->second = itIdx;
- }
- }
- }
-};
-
-
-} // namespace Poco
-
-
-#endif // Foundation_AccessExpireStrategy_INCLUDED
+//
+// AccessExpireStrategy.h
+//
+// Library: Foundation
+// Package: Cache
+// Module: AccessExpireStrategy
+//
+// Definition of the AccessExpireStrategy class.
+//
+// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
+// and Contributors.
+//
+// SPDX-License-Identifier: BSL-1.0
+//
+
+
+#ifndef Foundation_AccessExpireStrategy_INCLUDED
+#define Foundation_AccessExpireStrategy_INCLUDED
+
+
+#include "Poco/KeyValueArgs.h"
+#include "Poco/ValidArgs.h"
+#include "Poco/ExpireStrategy.h"
+#include "Poco/Bugcheck.h"
+#include "Poco/Timestamp.h"
+#include "Poco/EventArgs.h"
+#include <set>
+#include <map>
+
+
+namespace Poco {
+
+
+template <
+ class TKey,
+ class TValue
+>
+class AccessExpireStrategy: public ExpireStrategy<TKey, TValue>
+ /// An AccessExpireStrategy implements time and access based expiration of cache entries
+{
+public:
+ AccessExpireStrategy(Timestamp::TimeDiff expireTimeInMilliSec): ExpireStrategy<TKey, TValue>(expireTimeInMilliSec)
+ /// Create an expire strategy. Note that the smallest allowed caching time is 25ms.
+ /// Anything lower than that is not useful with current operating systems.
+ {
+ }
+
+ ~AccessExpireStrategy()
+ {
+ }
+
+ void onGet(const void*, const TKey& key)
+ {
+ // get triggers an update to the expiration time
+ typename ExpireStrategy<TKey, TValue>::Iterator it = this->_keys.find(key);
+ if (it != this->_keys.end())
+ {
+ if (!it->second->first.isElapsed(this->_expireTime)) // don't extend if already expired
+ {
+ this->_keyIndex.erase(it->second);
+ Timestamp now;
+ typename ExpireStrategy<TKey, TValue>::IndexIterator itIdx =
+ this->_keyIndex.insert(typename ExpireStrategy<TKey, TValue>::TimeIndex::value_type(now, key));
+ it->second = itIdx;
+ }
+ }
+ }
+};
+
+
+} // namespace Poco
+
+
+#endif // Foundation_AccessExpireStrategy_INCLUDED