1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Class Poco::UniqueExpireCache</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<meta name="author" content="Applied Informatics Software Engineering GmbH and Contributors"/>
<meta name="publisher" content="Applied Informatics Software Engineering GmbH and Contributors"/>
<meta name="copyright" content="Copyright (c) 2009, Applied Informatics Software Engineering GmbH and Contributors"/>
<meta name="language" content="en"/>
<meta name="date" content="2009-11-24"/>
<meta name="generator" content="PocoDoc"/>
<link rel="stylesheet" href="css/styles.css" type="text/css"/>
</head>
<body bgcolor="#ffffff" leftmargin="0" topmargin="0">
<div class="header">
<h1 class="namespace"><a href="Poco.html" class="namespace">Poco</a></h1>
<h1 class="template">template < class TKey, class TValue ></h1>
<h1 class="symbol">class UniqueExpireCache</h1>
</div>
<div class="body">
<p>
<b>Library:</b> Foundation<br />
<b>Package:</b> Cache<br />
<b>Header:</b> Poco/UniqueExpireCache.h</p>
<h2>Description</h2>
<div class="description">
<p>An <a href="Poco.UniqueExpireCache.html" title="class Poco::UniqueExpireCache">UniqueExpireCache</a> caches entries for a given time amount. In contrast to <a href="Poco.ExpireCache.html" title="class Poco::ExpireCache">ExpireCache</a> which only allows to set a per cache expiration value, it allows to define expiration per CacheEntry. Each TValue object must thus offer the following method: </p>
<p></p>
<pre>const Poco::Timestamp& getExpiration() const;
</pre>
<p>which returns the absolute timepoint when the entry will be invalidated. Accessing an object will NOT update this absolute expire timepoint. You can use the <a href="Poco.ExpirationDecorator.html" title="class Poco::ExpirationDecorator">Poco::ExpirationDecorator</a> to add the getExpiration method to values that do not have a getExpiration function. </p>
<p>Be careful when using an <a href="Poco.UniqueExpireCache.html" title="class Poco::UniqueExpireCache">UniqueExpireCache</a>. A cache is often used like cache.has(x) followed by cache.get x). Note that it could happen that the "has" call works, then the current execution thread gets descheduled, time passes, the entry gets invalid, thus leading to an empty <a href="Poco.SharedPtr.html" title="class Poco::SharedPtr">SharedPtr</a> being returned when "get" is invoked. </p>
</div>
<h2>Inheritance</h2>
<p><b>Direct Base Classes: </b>AbstractCache < TKey, TValue, UniqueExpireStrategy < TKey, TValue > ></p>
<p><b>All Base Classes: </b>AbstractCache < TKey, TValue, UniqueExpireStrategy < TKey, TValue > ></p>
<h2>Constructors</h2>
<h3><a name="12006">UniqueExpireCache</a> <img src="images/inline.gif" alt="inline" title="inline" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl"><a href="Poco.UniqueExpireCache.html" title="class Poco::UniqueExpireCache">UniqueExpireCache</a>();</p>
<div class="description">
<p></p>
</div>
<h2>Destructor</h2>
<h3><a name="12007">~UniqueExpireCache</a> <img src="images/inline.gif" alt="inline" title="inline" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">~<a href="Poco.UniqueExpireCache.html" title="class Poco::UniqueExpireCache">UniqueExpireCache</a>();</p>
<div class="description">
<p></p>
</div>
<p class="footer">POCO C++ Libraries 1.3.6-all<br />
Copyright © 2009, <a href="http://pocoproject.org/" target="_blank">Applied Informatics Software Engineering GmbH and Contributors</a></p>
</div>
</body>
</html>
|