| ACE
    6.2.5
    | 
ACE_Future_Rep<T> More...
#include <Future.h>

| Protected Member Functions | |
| ~ACE_Future_Rep (void) | |
| Private Types | |
| typedef ACE_Future_Observer< T > | OBSERVER | 
| typedef ACE_Unbounded_Set < OBSERVER * > | OBSERVER_COLLECTION | 
| Private Member Functions | |
| int | set (const T &r, ACE_Future< T > &caller) | 
| int | get (T &value, ACE_Time_Value *tv) const | 
| int | attach (ACE_Future_Observer< T > *observer, ACE_Future< T > &caller) | 
| int | detach (ACE_Future_Observer< T > *observer) | 
| operator T () | |
| void | dump (void) const | 
| Dump the state of an object.  More... | |
| int | ready (void) const | 
| Is result available?  More... | |
| ACE_Future_Rep (void) | |
| Static Private Member Functions | |
| static ACE_Future_Rep< T > * | internal_create (void) | 
| static ACE_Future_Rep< T > * | create (void) | 
| Create a ACE_Future_Rep<T> and initialize the reference count.  More... | |
| static ACE_Future_Rep< T > * | attach (ACE_Future_Rep< T > *&rep) | 
| static void | detach (ACE_Future_Rep< T > *&rep) | 
| static void | assign (ACE_Future_Rep< T > *&rep, ACE_Future_Rep< T > *new_rep) | 
| Private Attributes | |
| ACE_ALLOC_HOOK_DECLARE | |
| Declare the dynamic allocation hooks.  More... | |
| T * | value_ | 
| Pointer to the result.  More... | |
| int | ref_count_ | 
| Reference count.  More... | |
| OBSERVER_COLLECTION | observer_collection_ | 
| Keep a list of ACE_Future_Observers unread by client's reader thread.  More... | |
| ACE_SYNCH_RECURSIVE_MUTEX | value_ready_mutex_ | 
| ACE_SYNCH_RECURSIVE_CONDITION | value_ready_ | 
| Friends | |
| class | ACE_Future< T > | 
ACE_Future_Rep<T>
An ACE_Future_Rep<T> object encapsules a pointer to an object of class T which is the result of an asynchronous method invocation. It is pointed to by ACE_Future<T> object[s] and only accessible through them.
| 
 | private | 
| 
 | private | 
| 
 | private | 
| 
 | protected | 
| 
 | staticprivate | 
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)
| 
 | 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.
| 
 | staticprivate | 
Increase the reference count and return argument. Uses the attribute "value_ready_mutex_" to synchronize reference count updating.
Precondition (rep != 0).
| 
 | staticprivate | 
Create a ACE_Future_Rep<T> and initialize the reference count.
| 
 | 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.
| 
 | staticprivate | 
Decreases the reference count and deletes rep if there are no more references to rep.
Precondition (rep != 0)
| 
 | private | 
Dump the state of an object.
| 
 | private | 
Wait up to tv time to get the value. Note that tv must be specified in absolute time rather than relative time.
| 
 | staticprivate | 
Allocate a new ACE_Future_Rep<T> instance, returning NULL if it cannot be created.
| 
 | 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.
| 
 | private | 
Is result available?
| 
 | 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.
| 
 | friend | 
| 
 | private | 
Declare the dynamic allocation hooks.
| 
 | private | 
Keep a list of ACE_Future_Observers unread by client's reader thread.
| 
 | private | 
Reference count.
| 
 | private | 
Pointer to the result.
| 
 | mutableprivate | 
| 
 | mutableprivate | 
 1.8.6
 1.8.6