Public Types |
typedef ACE_Hash_Map_Manager<
TAO_Cache_ExtId, TAO_Cache_IntId,
ACE_Null_Mutex > | HASH_MAP |
typedef ACE_Hash_Map_Iterator<
TAO_Cache_ExtId, TAO_Cache_IntId,
ACE_Null_Mutex > | HASH_MAP_ITER |
typedef ACE_Hash_Map_Entry<
TAO_Cache_ExtId, TAO_Cache_IntId > | HASH_MAP_ENTRY |
Public Methods |
| | TAO_Transport_Cache_Manager (TAO_ORB_Core &orb_core) |
| | Constructor. More...
|
| virtual | ~TAO_Transport_Cache_Manager (void) |
| | Destructor. More...
|
| int | cache_transport (TAO_Transport_Descriptor_Interface *prop, TAO_Transport *transport) |
| | Add the transport to the cache. The transport has the property definition based on which caching can be done. More...
|
| int | find_transport (TAO_Transport_Descriptor_Interface *prop, TAO_Transport *&transport) |
| | Check the Transport Cache to check whether the connection exists in the Cache and return the connection. More...
|
| int | purge (void) |
| | Remove entries from the cache depending upon the strategy. More...
|
| int | purge_entry (HASH_MAP_ENTRY *&) |
| | Purge the entry from the Cache Map. More...
|
| void | mark_invalid (HASH_MAP_ENTRY *&) |
| | Mark the entry as invalid for use but keep it in cache. More...
|
| int | make_idle (HASH_MAP_ENTRY *&entry) |
| | Make the entry idle and ready for use. More...
|
| int | close (ACE_Handle_Set &reactor_registered, TAO_EventHandlerSet &unregistered) |
| | Close the underlying hash map manager and return the handle set that have been registered with the reactor. More...
|
| size_t | current_size (void) const |
| | Return the current size of the cache. More...
|
| size_t | total_size (void) const |
| | Return the total size of the cache. More...
|
Private Types |
| typedef HASH_MAP_ENTRY ** | DESCRIPTOR_SET |
Private Methods |
| int | bind (TAO_Cache_ExtId &ext_id, TAO_Cache_IntId &int_id) |
| | Associate <ext_id> with <int_id>. Grabs the lock and calls the implementation function bind_i. More...
|
| int | find (const TAO_Cache_ExtId &key, TAO_Cache_IntId &value) |
| | Lookup entry<key,value> in the cache. Grabs the lock and calls the implementation function find_i. More...
|
| int | rebind (const TAO_Cache_ExtId &key, const TAO_Cache_IntId &value) |
| | Reassociate the <key> with <value>. Grabs the lock and calls the implementation function find_i. More...
|
| int | unbind (const TAO_Cache_ExtId &key) |
| | Remove <key> from the cache. More...
|
| int | unbind (const TAO_Cache_ExtId &key, TAO_Cache_IntId &value) |
| | Remove <key> from the cache, and return the <value> associated with <key>. More...
|
| int | bind_i (TAO_Cache_ExtId &ext_id, TAO_Cache_IntId &int_id) |
| int | find_i (const TAO_Cache_ExtId &key, TAO_Cache_IntId &value) |
| int | rebind_i (const TAO_Cache_ExtId &key, const TAO_Cache_IntId &value) |
| | Non-locking version and actual implementation of rebind () call. More...
|
| int | unbind_i (const TAO_Cache_ExtId &key) |
| | Non-locking version and actual implementation of unbind () call. More...
|
| int | unbind_i (const TAO_Cache_ExtId &key, TAO_Cache_IntId &value) |
| | Non-locking version and actual implementation of unbind () call. More...
|
| int | make_idle_i (HASH_MAP_ENTRY *&entry) |
| | Non-locking version and actual implementation of make_idle (). More...
|
| int | close_i (ACE_Handle_Set &reactor_registered, TAO_EventHandlerSet &unregistered) |
| | Non-locking version and actual implementation of close (). More...
|
| int | purge_entry_i (HASH_MAP_ENTRY *&entry) |
| | Purge the entry from the Cache Map. More...
|
| void | mark_invalid_i (HASH_MAP_ENTRY *&) |
| | Mark the entry as invalid for use but keep it in cache. More...
|
| int | get_last_index_bind (TAO_Cache_ExtId &key, TAO_Cache_IntId &val, HASH_MAP_ENTRY *&entry) |
| int | is_entry_idle (HASH_MAP_ENTRY *&entry) |
| void | sort_set (DESCRIPTOR_SET &entries, int size) |
| | Sort the list of entries. More...
|
| int | fill_set_i (DESCRIPTOR_SET &sorted_set) |
| | Fill sorted_set in with the TAO_Transport_Descriptor_Interface's in a sorted order. More...
|
| void | close_entries (DESCRIPTOR_SET &sorted_set, int size) |
| | Look through the sorted set and close the connection on the required number of items in the set. More...
|
Static Private Methods |
| int | cpscmp (const void *a, const void *b) |
| | Used by qsort. More...
|
Private Attributes |
| int | percent_ |
| | The percentage of the cache to purge at one time. More...
|
| TAO_Connection_Purging_Strategy * | purging_strategy_ |
| | The underlying connection purging strategy. More...
|
| HASH_MAP | cache_map_ |
| | The hash map that has the connections. More...
|
| ACE_Lock * | cache_lock_ |
| | Lock for the map. More...
|