#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. |
|
|