#include <Future.h>
Collaboration diagram for ACE_Future:
Public Methods | |
ACE_Future (void) | |
Constructor. More... | |
ACE_Future (const ACE_Future< T > &r) | |
Copy constructor binds <this> and <r> to the same <ACE_Future_Rep>. An <ACE_Future_Rep> is created if necessary. More... | |
ACE_Future (const T &r) | |
Constructor that initialises an <ACE_Future> to point to the result <r> immediately. More... | |
~ACE_Future (void) | |
Destructor. More... | |
void | operator= (const ACE_Future< T > &r) |
Assignment operator that binds <this> and <r> to the same <ACE_Future_Rep>. An <ACE_Future_Rep> is created if necessary. More... | |
int | cancel (const T &r) |
Cancel an <ACE_Future> and assign the value <r>. It is used if a client does not want to wait for <T> to be produced. More... | |
int | cancel (void) |
Cancel an <ACE_Future>. More... | |
int | operator== (const ACE_Future< T > &r) const |
Equality operator that returns 1 if both ACE_Future<T> objects point to the same ACE_Future_Rep<T> object. More... | |
int | operator!= (const ACE_Future< T > &r) const |
Inequality operator, which is the opposite of equality. More... | |
int | set (const T &r) |
Make the result available. More... | |
int | get (T &value, ACE_Time_Value *tv=0) const |
Wait up to <tv> time to get the <value>. Note that <tv> must be specified in absolute time rather than relative time. More... | |
operator T () | |
Type conversion, which obtains the result of the asynchronous method invocation. More... | |
int | ready (void) const |
Check if the result is available. More... | |
int | attach (ACE_Future_Observer< T > *observer) |
Attaches the specified observer to a subject (i.e. More... | |
int | detach (ACE_Future_Observer< T > *observer) |
Detaches the specified observer from a subject (i.e. More... | |
void | dump (void) const |
Dump the state of an object. More... | |
ACE_Future_Rep< T > * | get_rep (void) |
Get the underlying <ACE_Future_Re. More... | |
Public Attributes | |
ACE_ALLOC_HOOK_DECLARE | |
Declare the dynamic allocation hooks. More... | |
Private Types | |
typedef ACE_Future_Rep< T > | FUTURE_REP |
Protect operations on the <Future>. More... | |
Private Methods | |
void * | operator new (size_t nbytes) |
Do not allow new operator. More... | |
void | operator delete (void *) |
Do not allow delete operator. More... | |
void | operator & () |
Do not allow address-of operator. More... | |
Private Attributes | |
FUTURE_REP * | future_rep_ |
|
Protect operations on the <Future>.
|
|
Constructor.
|
|
Copy constructor binds <this> and <r> to the same <ACE_Future_Rep>. An <ACE_Future_Rep> is created if necessary.
|
|
Constructor that initialises an <ACE_Future> to point to the result <r> immediately.
|
|
Destructor.
|
|
Attaches the specified observer to a subject (i.e. the <ACE_Future>). The update method of the specified subject will be invoked with a copy of the associated <ACE_Future> as input when the result gets set. If the result is already set when this method gets invoked, then the update method of the specified subject will be invoked immediately. Returns 0 if the observer is successfully attached, 1 if the observer is already attached, and -1 if failures occur. |
|
Cancel an <ACE_Future>. Put the future into its initial state. Returns 0 on succes and -1 on failure. It is now possible to reuse the ACE_Future<T>. But remember, the ACE_Future<T> is now bound to a new ACE_Future_Rep<T>. |
|
Cancel an <ACE_Future> and assign the value <r>. It is used if a client does not want to wait for <T> to be produced.
|
|
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. |
|
Dump the state of an object.
|
|
Wait up to <tv> time to get the <value>. Note that <tv> must be specified in absolute time rather than relative time.
|
|
Get the underlying <ACE_Future_Re. p>*. Note that this method should rarely, if ever, be used and that modifying the undlerlying <ACE_Future_Rep>* should be done with extreme caution. |
|
Do not allow address-of operator.
|
|
Do not allow delete operator.
|
|
Do not allow new operator.
|
|
Type conversion, which obtains the result of the asynchronous method invocation. Will block forever. 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. |
|
Inequality operator, which is the opposite of equality.
|
|
Assignment operator that binds <this> and <r> to the same <ACE_Future_Rep>. An <ACE_Future_Rep> is created if necessary.
|
|
Equality operator that returns 1 if both ACE_Future<T> objects point to the same ACE_Future_Rep<T> object. Attention: It also returns 1 if both objects have just been instantiated and not used yet. |
|
Check if the result is available.
|
|
Make the result available. Is used by the server thread to give the result to all waiting clients. Returns 0 for success, -1 on failure. This function only has an effect the first time it is called for the object (actually, the first time the underlying ACE_Future_Rep has a value assigned to it). Subsequent calls return 0 (success) but have no effect. |
|
Declare the dynamic allocation hooks.
|
|
|