#include <Future_Set.h>
Inheritance diagram for ACE_Future_Set:
Public Methods | |
ACE_Future_Set (ACE_Message_Queue< ACE_SYNCH > *future_notification_queue_=0) | |
Constructor. More... | |
~ACE_Future_Set (void) | |
Destructor. More... | |
int | is_empty (void) const |
Return 1 if their are no <ACE_Future> objects left on its queue and 0 otherwise. More... | |
int | insert (ACE_Future< T > &future) |
Enqueus the given <ACE_Future> into this objects queue when it is readable. More... | |
int | next_readable (ACE_Future< T > &result, ACE_Time_Value *tv=0) |
Wait up to <tv> time to get the <value>. More... | |
virtual void | update (const ACE_Future< T > &future) |
Called by the <ACE_Future> subject in which we are subscribed to when its value is written to. More... | |
Public Attributes | |
ACE_ALLOC_HOOK_DECLARE | |
Declare the dynamic allocation hooks. More... | |
Private Types | |
typedef ACE_Future< T > | FUTURE |
typedef ACE_Future_Rep< T > | FUTURE_REP |
typedef ACE_Future_Holder< T > | FUTURE_HOLDER |
typedef ACE_Pointer_Hash< FUTURE_REP *> | FUTURE_REP_HASH |
typedef ACE_Equal_To< FUTURE_REP *> | FUTURE_REP_COMPARE |
typedef ACE_Hash_Map_Manager_Ex< FUTURE_REP *, FUTURE_HOLDER *, FUTURE_REP_HASH, FUTURE_REP_COMPARE, ACE_Null_Mutex > | FUTURE_HASH_MAP |
Private Methods | |
void | operator= (const ACE_Future_Set< T > &) |
ACE_Future_Set (const ACE_Future_Set< T > &) | |
Private Attributes | |
FUTURE_HASH_MAP | future_map_ |
Map of <ACE_Futures>, subjects, which have not been written to by client's writer thread. More... | |
ACE_Message_Queue< ACE_SYNCH > * | future_notification_queue_ |
Message queue for notifying the reader thread of <ACE_Futures> which have been written to by client's writer thread. More... | |
int | delete_queue_ |
Keeps track of whether we need to delete the message queue. More... |
|
|
|
|
|
|
|
|
|
|
|
|
|
Constructor.
|
|
Destructor.
|
|
|
|
Enqueus the given <ACE_Future> into this objects queue when it is readable. Returns 0 if the future is successfully inserted, 1 if the future is already inserted, and -1 if failures occur. |
|
Return 1 if their are no <ACE_Future> objects left on its queue and 0 otherwise. When an <ACE_Future_Set> has no <ACE_Future> subjects to observe it is empty. The <ACE_Future_Set> is in the empty state when either the caller(s) have retrieved every readable <ACE_Future> subject assigned the <ACE_Future_Set> via the <ACE_Future_Set::next_readable> method, or when the <ACE_Future_Set> has not been assigned any subjects. |
|
Wait up to <tv> time to get the <value>. Note that <tv> must be specified in absolute time rather than relative time.); get the next <ACE_Future> that is readable. If <tv> = 0, the will block forever. If a readable future becomes available, then the input <ACE_Future> object param will be assigned with it and 1 will be returned. If the <ACE_Future_Set> is empty (i.e. see definition of <ACE_Future_Set::is_empty>), then 0 is returned. When a readable <ACE_Future> object is retrieved via the <ACE_Future_Set::next_readable> method, the <ACE_Future_Set> will remove that <ACE_Future> object from its list of subjects. |
|
|
|
Called by the <ACE_Future> subject in which we are subscribed to when its value is written to.
Reimplemented from ACE_Future_Observer. |
|
Declare the dynamic allocation hooks.
Reimplemented from ACE_Future_Observer. |
|
Keeps track of whether we need to delete the message queue.
|
|
Map of <ACE_Futures>, subjects, which have not been written to by client's writer thread.
|
|
Message queue for notifying the reader thread of <ACE_Futures> which have been written to by client's writer thread.
|