TAO_ESF_Copy_On_Write< PROXY, COLLECTION, ITERATOR, > Class Template Reference

TAO_ESF_Copy_On_Write. More...

#include <ESF_Copy_On_Write.h>

Inheritance diagram for TAO_ESF_Copy_On_Write< PROXY, COLLECTION, ITERATOR, >:

Inheritance graph
[legend]
Collaboration diagram for TAO_ESF_Copy_On_Write< PROXY, COLLECTION, ITERATOR, >:

Collaboration graph
[legend]
List of all members.

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)
virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL)

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.
Collectioncollection_
 The collection, with reference counting added.

Detailed Description

template<class PROXY, class COLLECTION, class ITERATOR, ACE_SYNCH_DECL>
class TAO_ESF_Copy_On_Write< PROXY, COLLECTION, ITERATOR, >

TAO_ESF_Copy_On_Write.

Implement the Copy_On_Write protocol The class is parametric on the kind of collection and locking mechanism used.


Member Typedef Documentation

template<class PROXY, class COLLECTION, class ITERATOR, ACE_SYNCH_DECL >
typedef TAO_ESF_Copy_On_Write_Collection<COLLECTION,ITERATOR> TAO_ESF_Copy_On_Write< PROXY, COLLECTION, ITERATOR, >::Collection [private]

template<class PROXY, class COLLECTION, class ITERATOR, ACE_SYNCH_DECL >
typedef TAO_ESF_Copy_On_Write_Read_Guard<COLLECTION,ITERATOR,ACE_SYNCH_MUTEX_T> TAO_ESF_Copy_On_Write< PROXY, COLLECTION, ITERATOR, >::Read_Guard

Constructor.

template<class PROXY, class COLLECTION, class ITERATOR, ACE_SYNCH_DECL >
typedef TAO_ESF_Copy_On_Write_Write_Guard<COLLECTION,ITERATOR,ACE_SYNCH_USE> TAO_ESF_Copy_On_Write< PROXY, COLLECTION, ITERATOR, >::Write_Guard


Constructor & Destructor Documentation

template<class PROXY, class COLLECTION, class ITERATOR, ACE_SYNCH_DECL >
TAO_ESF_Copy_On_Write< PROXY, COLLECTION, ITERATOR, >::TAO_ESF_Copy_On_Write ( void   ) 

template<class PROXY, class COLLECTION, class ITERATOR, ACE_SYNCH_DECL >
TAO_ESF_Copy_On_Write< PROXY, COLLECTION, ITERATOR, >::~TAO_ESF_Copy_On_Write ( void   ) 

Destructor.


Member Function Documentation

template<class PROXY, class COLLECTION, class ITERATOR, ACE_SYNCH_DECL >
void TAO_ESF_Copy_On_Write< PROXY, COLLECTION, ITERATOR, >::connected ( PROXY *proxy  ACE_ENV_ARG_DECL  )  [virtual]

template<class PROXY, class COLLECTION, class ITERATOR, ACE_SYNCH_DECL >
void TAO_ESF_Copy_On_Write< PROXY, COLLECTION, ITERATOR, >::disconnected ( PROXY *proxy  ACE_ENV_ARG_DECL  )  [virtual]

template<class PROXY, class COLLECTION, class ITERATOR, ACE_SYNCH_DECL >
void TAO_ESF_Copy_On_Write< PROXY, COLLECTION, ITERATOR, >::for_each ( TAO_ESF_Worker< PROXY > *worker  ACE_ENV_ARG_DECL  )  [virtual]

template<class PROXY, class COLLECTION, class ITERATOR, ACE_SYNCH_DECL >
void TAO_ESF_Copy_On_Write< PROXY, COLLECTION, ITERATOR, >::reconnected ( PROXY *proxy  ACE_ENV_ARG_DECL  )  [virtual]

template<class PROXY, class COLLECTION, class ITERATOR, ACE_SYNCH_DECL >
void TAO_ESF_Copy_On_Write< PROXY, COLLECTION, ITERATOR, >::shutdown ( ACE_ENV_SINGLE_ARG_DECL   )  [virtual]


Member Data Documentation

template<class PROXY, class COLLECTION, class ITERATOR, ACE_SYNCH_DECL >
Collection* TAO_ESF_Copy_On_Write< PROXY, COLLECTION, ITERATOR, >::collection_ [private]

The collection, with reference counting added.

template<class PROXY, class COLLECTION, class ITERATOR, ACE_SYNCH_DECL >
ACE_SYNCH_CONDITION_T TAO_ESF_Copy_On_Write< PROXY, COLLECTION, ITERATOR, >::cond_ [private]

A condition variable to wait to synchronize multiple writers.

template<class PROXY, class COLLECTION, class ITERATOR, ACE_SYNCH_DECL >
ACE_SYNCH_MUTEX_T TAO_ESF_Copy_On_Write< PROXY, COLLECTION, ITERATOR, >::mutex_ [private]

A mutex to serialize access to the collection pointer.

template<class PROXY, class COLLECTION, class ITERATOR, ACE_SYNCH_DECL >
int TAO_ESF_Copy_On_Write< PROXY, COLLECTION, ITERATOR, >::pending_writes_ [private]

Number of pending writes.

template<class PROXY, class COLLECTION, class ITERATOR, ACE_SYNCH_DECL >
int TAO_ESF_Copy_On_Write< PROXY, COLLECTION, ITERATOR, >::writing_ [private]

If non-zero then a thread is changing the collection. Many threads can use the collection simulatenously, but only one change it.


The documentation for this class was generated from the following files:
Generated on Tue Nov 21 09:52:34 2006 for TAO_ESF by  doxygen 1.4.7-1