#include <Cache_Map_Manager_T.h>
Collaboration diagram for ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >:

Public Types | |
| typedef KEY | key_type |
| typedef VALUE | mapped_type |
| typedef CMAP_TYPE | map_type |
| typedef CACHING_STRATEGY | caching_strategy_type |
| typedef ITERATOR_IMPL | ITERATOR_IMPLEMENTATION |
| typedef REVERSE_ITERATOR_IMPL | REVERSE_ITERATOR_IMPLEMENTATION |
| typedef ACE_Cache_Map_Iterator< KEY, VALUE, ITERATOR_IMPLEMENTATION, CACHING_STRATEGY, ATTRIBUTES > | ITERATOR |
| typedef ACE_Cache_Map_Reverse_Iterator< KEY, VALUE, REVERSE_ITERATOR_IMPLEMENTATION, CACHING_STRATEGY, ATTRIBUTES > | REVERSE_ITERATOR |
| typedef ITERATOR | iterator |
| typedef REVERSE_ITERATOR | reverse_iterator |
| typedef ACE_Pair< VALUE, ATTRIBUTES > | CACHE_VALUE |
Public Member Functions | |
| ACE_Cache_Map_Manager (CACHING_STRATEGY &caching_strategy, size_t size=ACE_DEFAULT_MAP_SIZE, ACE_Allocator *alloc=0) | |
| virtual | ~ACE_Cache_Map_Manager (void) |
| int | open (size_t length=ACE_DEFAULT_MAP_SIZE, ACE_Allocator *alloc=0) |
| Initialize a cache with size . | |
| int | close (void) |
| Close down a cache and release dynamically allocated resources. | |
| int | bind (const KEY &key, const VALUE &value) |
| int | find (const KEY &key, VALUE &value) |
| int | find (const KEY &key) |
| int | rebind (const KEY &key, const VALUE &value) |
| int | rebind (const KEY &key, const VALUE &value, VALUE &old_value) |
| int | rebind (const KEY &key, const VALUE &value, KEY &old_key, VALUE &old_value) |
| int | trybind (const KEY &key, VALUE &value) |
| int | unbind (const KEY &key) |
| Remove from the cache. | |
| int | unbind (const KEY &key, VALUE &value) |
| int | purge (void) |
| Remove entries from the cache depending upon the strategy. | |
| size_t | current_size (void) const |
| Return the current size of the cache. | |
| size_t | total_size (void) const |
| Return the total size of the cache. | |
| void | dump (void) const |
| Dumps the state of the object. | |
| ITERATOR | begin (void) |
| Return forward iterator. | |
| ITERATOR | end (void) |
| REVERSE_ITERATOR | rbegin (void) |
| Return reverse iterator. | |
| REVERSE_ITERATOR | rend (void) |
| CMAP_TYPE & | map (void) |
| The map managed by the Cache_Map_Manager. | |
| CACHING_STRATEGY & | caching_strategy (void) |
| The caching strategy used on the cache. | |
Protected Attributes | |
| CMAP_TYPE | map_ |
| The underlying map which needs to be cached. | |
| CACHING_STRATEGY & | caching_strategy_ |
| The strategy to be followed for caching entries in the map. | |
Private Member Functions | |
| void | operator= (const ACMM< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES > &) |
| ACMM (const ACMM< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES > &) | |
Friends | |
| class | ACE_Cache_Map_Iterator< KEY, VALUE, ITERATOR_IMPLEMENTATION, CACHING_STRATEGY, ATTRIBUTES > |
| class | ACE_Cache_Map_Reverse_Iterator< KEY, VALUE, REVERSE_ITERATOR_IMPLEMENTATION, CACHING_STRATEGY, ATTRIBUTES > |
The will manage the map it contains and provide purging on demand from the map. The strategy for caching is decided by the user and provided to the Cache Manager. The Cache Manager acts as a agent and communicates between the Map and the Strategy for purging entries from the map. No locking mechanism provided since locking at this level isn't efficient. Locking has to be provided by the application.
Definition at line 61 of file Cache_Map_Manager_T.h.
|
|||||
|
The actual value mapped to the key in the map. The are used by the strategy and is transparent to the user of this class. Definition at line 94 of file Cache_Map_Manager_T.h. Referenced by ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::bind(), ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::find(), ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::rebind(), ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::trybind(), and ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::unbind(). |
|
|||||
|
Definition at line 69 of file Cache_Map_Manager_T.h. |
|
|||||
|
Definition at line 85 of file Cache_Map_Manager_T.h. |
|
|||||
|
|||||
|
Definition at line 71 of file Cache_Map_Manager_T.h. |
|
|||||
|
Definition at line 66 of file Cache_Map_Manager_T.h. |
|
|||||
|
Definition at line 68 of file Cache_Map_Manager_T.h. |
|
|||||
|
Definition at line 67 of file Cache_Map_Manager_T.h. |
|
|||||
|
Definition at line 87 of file Cache_Map_Manager_T.h. |
|
|||||
|
|||||
|
Definition at line 72 of file Cache_Map_Manager_T.h. |
|
||||||||||||||||||||
|
Initialize a with and entries. Definition at line 31 of file Cache_Map_Manager_T.cpp. References ACE_Cache_Map_Manager, ACE_ERROR, ACE_LIB_TEXT, ACE_T2, LM_ERROR, and ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::open().
00034 : caching_strategy_ (caching_s) 00035 { 00036 if (this->open (size, alloc) == -1) 00037 ACE_ERROR ((LM_ERROR, 00038 ACE_LIB_TEXT ("%p\n"), 00039 ACE_LIB_TEXT ("ACE_Cache_Map_Manager::ACE_Cache_Map_Manager"))); 00040 00041 } |
|
||||||||||
|
Close down a and release dynamically allocated resources. Definition at line 44 of file Cache_Map_Manager_T.cpp.
00045 {
00046 this->close ();
00047 }
|
|
||||||||||
|
|
|
||||||||||
|
Return forward iterator.
Definition at line 39 of file Cache_Map_Manager_T.inl.
00040 {
00041 return ITERATOR (this->map_.begin ());
00042 }
|
|
||||||||||||||||
|
Associate with . If is already in the CMAP_TYPE then the ENTRY is not changed. Returns 0 if a new entry is bound successfully, returns 1 if an attempt is made to bind an existing entry, and returns -1 if failures occur. Definition at line 64 of file Cache_Map_Manager_T.cpp. References ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::CACHE_VALUE, ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::caching_strategy_, ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::map_, and ACE_Pair< T1, T2 >::second().
00066 {
00067 // Insert an entry which has the <key> and the <cache_value> which
00068 // is the combination of the <value> and the attributes of the
00069 // caching strategy.
00070 CACHE_VALUE cache_value (value,
00071 this->caching_strategy_.attributes ());
00072
00073 int bind_result = this->map_.bind (key,
00074 cache_value);
00075
00076 if (bind_result != -1)
00077 {
00078
00079 int result = this->caching_strategy_.notify_bind (bind_result,
00080 cache_value.second ());
00081
00082 if (result == -1)
00083 {
00084
00085 this->map_.unbind (key);
00086
00087 // Unless the notification goes thru the bind operation is
00088 // not complete.
00089 bind_result = -1;
00090
00091 }
00092
00093 }
00094
00095 return bind_result;
00096 }
|
|
||||||||||
|
The caching strategy used on the cache.
Definition at line 33 of file Cache_Map_Manager_T.inl. Referenced by ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::purge().
00034 {
00035 return this->caching_strategy_;
00036 }
|
|
||||||||||
|
Close down a cache and release dynamically allocated resources.
Definition at line 58 of file Cache_Map_Manager_T.cpp.
00059 {
00060 return this->map_.close ();
00061 }
|
|
||||||||||
|
Return the current size of the cache.
Definition at line 15 of file Cache_Map_Manager_T.inl.
00016 {
00017 return this->map_.current_size ();
00018 }
|
|
||||||||||
|
Dumps the state of the object.
Definition at line 401 of file Cache_Map_Manager_T.cpp. References ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::caching_strategy_, and ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::map_.
00402 {
00403 #if defined (ACE_HAS_DUMP)
00404 this->map_.dump ();
00405
00406 this->caching_strategy_.dump ();
00407 #endif /* ACE_HAS_DUMP */
00408 }
|
|
||||||||||
|
Definition at line 45 of file Cache_Map_Manager_T.inl.
00046 {
00047 return ITERATOR (this->map_.end ());
00048 }
|
|
||||||||||
|
Lookup entry<key,value> in the cache. If it is not found, returns -1. If the is located in the CMAP_TYPE object, the CACHING_STRATEGY is notified of it via notify_find (int result, ATTRIBUTES &attribute). If notify_find also returns 0 (success), then this function returns 0 (success). Definition at line 314 of file Cache_Map_Manager_T.cpp. References ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::CACHE_VALUE, ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::caching_strategy_, ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::map_, and ACE_Pair< T1, T2 >::second().
00315 {
00316 // Lookup the key and populate the <value>.
00317 CACHE_VALUE cache_value;
00318
00319 int find_result = this->map_.find (key,
00320 cache_value);
00321
00322 if (find_result != -1)
00323 {
00324
00325 int result = this->caching_strategy_.notify_find (find_result,
00326 cache_value.second ());
00327
00328 // Unless the find and notification operations go thru, this
00329 // method is not successful.
00330 if (result == -1)
00331 find_result = -1;
00332 else
00333 {
00334
00335 // Since the <cache_value> has now changed after the
00336 // notification, we need to bind to the map again.
00337 int rebind_result = this->map_.rebind (key,
00338 cache_value);
00339
00340 if (rebind_result == -1)
00341 find_result = -1;
00342
00343 }
00344
00345 }
00346
00347 return find_result;
00348 }
|
|
||||||||||||||||
|
Lookup entry<key,value> in the cache. If it is not found, returns -1. If the is located in the CMAP_TYPE object, the CACHING_STRATEGY is notified of it via notify_find (int result, ATTRIBUTES &attribute). If notify_find also returns 0 (success), then this function returns 0 (success) and sets the cached value in . Definition at line 275 of file Cache_Map_Manager_T.cpp. References ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::CACHE_VALUE, ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::caching_strategy_, ACE_Pair< T1, T2 >::first(), ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::map_, and ACE_Pair< T1, T2 >::second().
00277 {
00278 // Lookup the key and populate the <value>.
00279 CACHE_VALUE cache_value;
00280
00281 int find_result = this->map_.find (key,
00282 cache_value);
00283
00284 if (find_result != -1)
00285 {
00286
00287 int result = this->caching_strategy_.notify_find (find_result,
00288 cache_value.second ());
00289
00290 // Unless the find and notification operations go thru, this
00291 // method is not successful.
00292 if (result == -1)
00293 find_result = -1;
00294 else
00295 {
00296
00297 // Since the <cache_value> has now changed after the
00298 // notification, we need to bind to the map again.
00299 int rebind_result = this->map_.rebind (key,
00300 cache_value);
00301 if (rebind_result == -1)
00302 find_result = -1;
00303 else
00304 value = cache_value.first ();
00305
00306 }
00307
00308 }
00309
00310 return find_result;
00311 }
|
|
||||||||||
|
The map managed by the Cache_Map_Manager.
Definition at line 27 of file Cache_Map_Manager_T.inl.
00028 {
00029 return this->map_;
00030 }
|
|
||||||||||||||||
|
Initialize a cache with size .
Definition at line 50 of file Cache_Map_Manager_T.cpp.
00052 {
00053 return this->map_.open (length,
00054 alloc);
00055 }
|
|
||||||||||
|
|
|
||||||||||
|
Remove entries from the cache depending upon the strategy.
Definition at line 8 of file Cache_Map_Manager_T.inl.
00009 {
00010 return this->caching_strategy ().caching_utility ().clear_cache (this->map_,
00011 this->caching_strategy ().purge_percent ());
00012 }
|
|
||||||||||
|
Return reverse iterator.
Definition at line 51 of file Cache_Map_Manager_T.inl.
00052 {
00053 return REVERSE_ITERATOR (this->map_.rbegin ());
00054 }
|
|
||||||||||||||||||||||||
|
Reassociate with , storing the old key and value into the "out" parameters and . The function fails if is not in the cache for caches that do not allow user specified keys. However, for caches that allow user specified keys, if the key is not in the cache, a new / association is created. Definition at line 184 of file Cache_Map_Manager_T.cpp. References ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::CACHE_VALUE, ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::caching_strategy_, ACE_Pair< T1, T2 >::first(), ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::map_, and ACE_Pair< T1, T2 >::second().
00188 {
00189 CACHE_VALUE cache_value (value,
00190 this->caching_strategy_.attributes ());
00191
00192 CACHE_VALUE old_cache_value (old_value,
00193 this->caching_strategy_.attributes ());
00194
00195 int rebind_result = this->map_.rebind (key,
00196 cache_value,
00197 old_key,
00198 old_cache_value);
00199
00200 if (rebind_result != -1)
00201 {
00202
00203 int result = this->caching_strategy_.notify_rebind (rebind_result,
00204 cache_value.second ());
00205
00206 if (result == -1)
00207 {
00208
00209 // Make sure the unbind operation is done only when the
00210 // notification fails after a bind which is denoted by
00211 // rebind_result = 0
00212 if (rebind_result == 0)
00213 this->map_.unbind (key);
00214
00215 // Unless the notification goes thru the rebind operation is
00216 // not complete.
00217 rebind_result = -1;
00218
00219 }
00220 else
00221 {
00222
00223 old_value = old_cache_value.first ();
00224
00225 }
00226
00227 }
00228
00229 return rebind_result;
00230 }
|
|
||||||||||||||||||||
|
Reassociate with , storing the old value into the "out" parameter . The function fails if is not in the cache for caches that do not allow user specified keys. However, for caches that allow user specified keys, if the key is not in the cache, a new / association is created. Definition at line 137 of file Cache_Map_Manager_T.cpp. References ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::CACHE_VALUE, ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::caching_strategy_, ACE_Pair< T1, T2 >::first(), ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::map_, and ACE_Pair< T1, T2 >::second().
00140 {
00141 CACHE_VALUE cache_value (value,
00142 this->caching_strategy_.attributes ());
00143
00144 CACHE_VALUE old_cache_value (old_value,
00145 this->caching_strategy_.attributes ());
00146
00147 int rebind_result = this->map_.rebind (key,
00148 cache_value,
00149 old_cache_value);
00150
00151 if (rebind_result != -1)
00152 {
00153
00154 int result = this->caching_strategy_.notify_rebind (rebind_result,
00155 cache_value.second ());
00156
00157 if (result == -1)
00158 {
00159
00160 // Make sure the unbind operation is done only when the
00161 // notification fails after a bind which is denoted by
00162 // rebind_result = 0
00163 if (rebind_result == 0)
00164 this->map_.unbind (key);
00165
00166 // Unless the notification goes thru the rebind operation is
00167 // not complete.
00168 rebind_result = -1;
00169
00170 }
00171 else
00172 {
00173
00174 old_value = old_cache_value.first ();
00175
00176 }
00177
00178 }
00179
00180 return rebind_result;
00181 }
|
|
||||||||||||||||
|
Reassociate the with . If the already exists in the cache then returns 1, on a new bind returns 0 and returns -1 in case of any failures. Definition at line 100 of file Cache_Map_Manager_T.cpp. References ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::CACHE_VALUE, ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::caching_strategy_, ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::map_, and ACE_Pair< T1, T2 >::second().
00102 {
00103 CACHE_VALUE cache_value (value,
00104 this->caching_strategy_.attributes ());
00105
00106 int rebind_result = this->map_.rebind (key,
00107 cache_value);
00108
00109 if (rebind_result != -1)
00110 {
00111
00112 int result = this->caching_strategy_.notify_rebind (rebind_result,
00113 cache_value.second ());
00114
00115 if (result == -1)
00116 {
00117
00118 // Make sure the unbind operation is done only when the
00119 // notification fails after a bind which is denoted by
00120 // rebind_result = 0
00121 if (rebind_result == 0)
00122 this->map_.unbind (key);
00123
00124 // Unless the notification goes thru the rebind operation is
00125 // not complete.
00126 rebind_result = -1;
00127
00128 }
00129
00130 }
00131
00132 return rebind_result;
00133 }
|
|
||||||||||
|
Definition at line 56 of file Cache_Map_Manager_T.inl.
00057 {
00058 return REVERSE_ITERATOR (this->map_.rend ());
00059 }
|
|
||||||||||
|
Return the total size of the cache.
Definition at line 21 of file Cache_Map_Manager_T.inl.
00022 {
00023 return this->map_.total_size ();
00024 }
|
|
||||||||||||||||
|
Associate with if and only if is not in the cache. If is already in the cache, then the parameter is overwritten with the existing value in the cache. Returns 0 if a new / association is created. Returns 1 if an attempt is made to bind an existing entry. This function fails for maps that do not allow user specified keys. Definition at line 233 of file Cache_Map_Manager_T.cpp. References ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::CACHE_VALUE, ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::caching_strategy_, ACE_Pair< T1, T2 >::first(), ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::map_, and ACE_Pair< T1, T2 >::second().
00235 {
00236 CACHE_VALUE cache_value (value,
00237 this->caching_strategy_.attributes ());
00238
00239 int trybind_result = this->map_.trybind (key,
00240 cache_value);
00241
00242 if (trybind_result != -1)
00243 {
00244
00245 int result = this->caching_strategy_.notify_trybind (trybind_result,
00246 cache_value.second ());
00247
00248 if (result == -1)
00249 {
00250
00251 // If the entry has got inserted into the map, it is removed
00252 // due to failure.
00253 if (trybind_result == 0)
00254 this->map_.unbind (key);
00255
00256 trybind_result = -1;
00257
00258 }
00259 else
00260 {
00261
00262 // If an attempt is made to bind an existing entry the value
00263 // is overwritten with the value from the map.
00264 if (trybind_result == 1)
00265 value = cache_value.first ();
00266
00267 }
00268
00269 }
00270
00271 return trybind_result;
00272 }
|
|
||||||||||||||||
|
Remove from the cache, and return the associated with . Definition at line 375 of file Cache_Map_Manager_T.cpp. References ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::CACHE_VALUE, ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::caching_strategy_, ACE_Pair< T1, T2 >::first(), ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::map_, and ACE_Pair< T1, T2 >::second().
00377 {
00378 // Remove the entry from the cache.
00379 CACHE_VALUE cache_value;
00380
00381 int unbind_result = this->map_.unbind (key,
00382 cache_value);
00383
00384 if (unbind_result != -1)
00385 {
00386
00387 int result = this->caching_strategy_.notify_unbind (unbind_result,
00388 cache_value.second ());
00389
00390 if (result == -1)
00391 unbind_result = -1;
00392 else
00393 value = cache_value.first ();
00394
00395 }
00396
00397 return unbind_result;
00398 }
|
|
||||||||||
|
Remove from the cache.
Definition at line 352 of file Cache_Map_Manager_T.cpp. References ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::CACHE_VALUE, ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::caching_strategy_, ACE_Cache_Map_Manager< KEY, VALUE, CMAP_TYPE, ITERATOR_IMPL, REVERSE_ITERATOR_IMPL, CACHING_STRATEGY, ATTRIBUTES >::map_, and ACE_Pair< T1, T2 >::second().
00353 {
00354 // Remove the entry from the cache.
00355 CACHE_VALUE cache_value;
00356
00357 int unbind_result = this->map_.unbind (key,
00358 cache_value);
00359
00360 if (unbind_result != -1)
00361 {
00362
00363 int result = this->caching_strategy_.notify_unbind (unbind_result,
00364 cache_value.second ());
00365
00366 if (result == -1)
00367 unbind_result = -1;
00368
00369 }
00370
00371 return unbind_result;
00372 }
|
|
|||||
|
Definition at line 74 of file Cache_Map_Manager_T.h. |
|
|||||
|
Definition at line 75 of file Cache_Map_Manager_T.h. |
|
|||||
|
|||||
1.3.6