ACE_Future_Rep< T > Class Template ReferenceACE_Future_Rep<T>. More...
Collaboration diagram for ACE_Future_Rep< T >:
Detailed Descriptiontemplate<class T>
ACE_Future_Rep<T>.
|
typedef ACE_Future_Observer<T> ACE_Future_Rep< T >::OBSERVER [private] |
typedef ACE_Unbounded_Set<OBSERVER *> ACE_Future_Rep< T >::OBSERVER_COLLECTION [private] |
ACE_Future_Rep< T >::ACE_Future_Rep | ( | void | ) | [inline, private] |
ACE_Future_Rep< T >::~ACE_Future_Rep | ( | void | ) | [inline, protected] |
int ACE_Future_Rep< T >::set | ( | const T & | r, | |
ACE_Future< T > & | caller | |||
) | [inline, private] |
Set the result value. The specified <caller> represents the future that invoked this <set> method, which is used to notify the list of future observers. Returns 0 for success, -1 on error. This function only has an effect the first time it is called for the object. Subsequent calls return 0 (success) but have no effect.
int ACE_Future_Rep< T >::get | ( | T & | value, | |
ACE_Time_Value * | tv | |||
) | const [inline, private] |
Wait up to tv time to get the value. Note that tv must be specified in absolute time rather than relative time.
int ACE_Future_Rep< T >::attach | ( | ACE_Future_Observer< T > * | observer, | |
ACE_Future< T > & | caller | |||
) | [inline, private] |
Attaches the specified observer to a subject (i.e., the ACE_Future_Rep). The update method of the specified subject will be invoked with a copy of the written-to ACE_Future as input when the result gets set.
Returns 0 if the observer is successfully attached, 1 if the observer is already attached, and -1 if failures occur.
int ACE_Future_Rep< T >::detach | ( | ACE_Future_Observer< T > * | observer | ) | [inline, private] |
Detaches the specified observer from a subject (i.e., the ACE_Future_Rep). The update method of the specified subject will not be invoked when the ACE_Future_Reps result gets set. Returns 1 if the specified observer was actually attached to the subject prior to this call and 0 if was not.
Returns 0 if the observer was successfully detached, and -1 if the observer was not attached in the first place.
ACE_Future_Rep< T >::operator T | ( | ) | [inline, private] |
Type conversion. will block forever until the result is available. Note that this method is going away in a subsequent release since it doesn't distinguish between failure results and success results (exceptions should be used, but they aren't portable...). The <get> method should be used instead since it separates the error value from the result, and also permits timeouts.
void ACE_Future_Rep< T >::dump | ( | void | ) | const [inline, private] |
Dump the state of an object.
ACE_Future_Rep< T > * ACE_Future_Rep< T >::internal_create | ( | void | ) | [inline, static, private] |
Allocate a new ACE_Future_Rep<T> instance, returning NULL if it cannot be created.
ACE_Future_Rep< T > * ACE_Future_Rep< T >::create | ( | void | ) | [inline, static, private] |
Create a ACE_Future_Rep<T> and initialize the reference count.
ACE_Future_Rep< T > * ACE_Future_Rep< T >::attach | ( | ACE_Future_Rep< T > *& | rep | ) | [inline, static, private] |
Increase the reference count and return argument. Uses the attribute "value_ready_mutex_" to synchronize reference count updating.
Precondition (rep != 0).
void ACE_Future_Rep< T >::detach | ( | ACE_Future_Rep< T > *& | rep | ) | [inline, static, private] |
Decreases the reference count and deletes rep if there are no more references to rep.
Precondition (rep != 0)
void ACE_Future_Rep< T >::assign | ( | ACE_Future_Rep< T > *& | rep, | |
ACE_Future_Rep< T > * | new_rep | |||
) | [inline, static, private] |
Decreases the rep's reference count and deletes rep if there are no more references to rep. Then assigns new_rep to rep.
Precondition (rep != 0 && new_rep != 0)
int ACE_Future_Rep< T >::ready | ( | void | ) | const [inline, private] |
Is result available?
friend class ACE_Future< T > [friend] |
ACE_Future_Rep< T >::ACE_ALLOC_HOOK_DECLARE [private] |
Declare the dynamic allocation hooks.
T* ACE_Future_Rep< T >::value_ [private] |
Pointer to the result.
int ACE_Future_Rep< T >::ref_count_ [private] |
Reference count.
OBSERVER_COLLECTION ACE_Future_Rep< T >::observer_collection_ [private] |
Keep a list of ACE_Future_Observers unread by client's reader thread.
ACE_Recursive_Thread_Mutex ACE_Future_Rep< T >::value_ready_mutex_ [mutable, private] |
ACE_Condition_Recursive_Thread_Mutex ACE_Future_Rep< T >::value_ready_ [mutable, private] |