#include <ESF_Copy_On_Write.h>
Inheritance diagram for TAO_ESF_Copy_On_Write< PROXY, COLLECTION, ITERATOR, >:


| Public Types | |
| typedef TAO_ESF_Copy_On_Write_Read_Guard< COLLECTION, ITERATOR, ACE_SYNCH_MUTEX_T > | Read_Guard | 
| Constructor. | |
| typedef TAO_ESF_Copy_On_Write_Write_Guard< COLLECTION, ITERATOR, ACE_SYNCH_USE > | Write_Guard | 
| Public Member Functions | |
| TAO_ESF_Copy_On_Write (void) | |
| ~TAO_ESF_Copy_On_Write (void) | |
| Destructor. | |
| virtual void | for_each (TAO_ESF_Worker< PROXY > *worker ACE_ENV_ARG_DECL) | 
| virtual void | connected (PROXY *proxy ACE_ENV_ARG_DECL) | 
| virtual void | reconnected (PROXY *proxy ACE_ENV_ARG_DECL) | 
| virtual void | disconnected (PROXY *proxy ACE_ENV_ARG_DECL) | 
| Remove an element from the collection. | |
| virtual void | shutdown (ACE_ENV_SINGLE_ARG_DECL) | 
| The EC is shutting down, must release all the elements. | |
| Private Types | |
| typedef TAO_ESF_Copy_On_Write_Collection< COLLECTION, ITERATOR > | Collection | 
| Private Attributes | |
| ACE_SYNCH_MUTEX_T | mutex_ | 
| A mutex to serialize access to the collection pointer. | |
| int | pending_writes_ | 
| Number of pending writes. | |
| int | writing_ | 
| ACE_SYNCH_CONDITION_T | cond_ | 
| A condition variable to wait to synchronize multiple writers. | |
| Collection * | collection_ | 
| The collection, with reference counting added. | |
Implement the Copy_On_Write protocol The class is parametric on the kind of collection and locking mechanism used.
| 
 | |||||
| 
 | 
| 
 | |||||
| Constructor. 
 | 
| 
 | |||||
| 
 | 
| 
 | ||||||||||
| 
 | 
| 
 | ||||||||||
| Destructor. 
 | 
| 
 | ||||||||||
| Insert a new element into the collection. The collection assumes ownership of the element. Implements TAO_ESF_Proxy_Collection< PROXY >. | 
| 
 | ||||||||||
| Remove an element from the collection. 
 Implements TAO_ESF_Proxy_Collection< PROXY >. | 
| 
 | ||||||||||
| Iterate over the collection and invoke worker->work() for each member of the collection. This encapsulates Implements TAO_ESF_Proxy_Collection< PROXY >. | 
| 
 | ||||||||||
| Insert an element into the collection. No errors can be raised if the element is already present. The collection assumes ownership, i.e. must invoke <proxy->_decr_refcnt()> if the element is already present in the collection. Implements TAO_ESF_Proxy_Collection< PROXY >. | 
| 
 | ||||||||||
| The EC is shutting down, must release all the elements. 
 Implements TAO_ESF_Proxy_Collection< PROXY >. | 
| 
 | |||||
| The collection, with reference counting added. 
 | 
| 
 | |||||
| A condition variable to wait to synchronize multiple writers. 
 | 
| 
 | |||||
| A mutex to serialize access to the collection pointer. 
 | 
| 
 | |||||
| Number of pending writes. 
 | 
| 
 | |||||
| If non-zero then a thread is changing the collection. Many threads can use the collection simulatenously, but only one change it. | 
 1.3.9.1
 1.3.9.1