diff options
Diffstat (limited to 'ACE/apps/JAWS3/jaws3/THYBRID_Concurrency.h')
-rw-r--r-- | ACE/apps/JAWS3/jaws3/THYBRID_Concurrency.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/ACE/apps/JAWS3/jaws3/THYBRID_Concurrency.h b/ACE/apps/JAWS3/jaws3/THYBRID_Concurrency.h new file mode 100644 index 00000000000..c75fbb1cb1f --- /dev/null +++ b/ACE/apps/JAWS3/jaws3/THYBRID_Concurrency.h @@ -0,0 +1,37 @@ +/* -*- c++ -*- */ +// $Id$ + +#ifndef JAWS_THYBRID_CONCURRENCY_H +#define JAWS_THYBRID_CONCURRENCY_H + +#include "ace/Atomic_Op.h" + +#include "jaws3/Concurrency.h" + +class JAWS_Export JAWS_THYBRID_Concurrency : public JAWS_Concurrency_Impl +{ +public: + + JAWS_THYBRID_Concurrency (void); + + int putq (JAWS_Protocol_Handler *ph); + + int getq (JAWS_Protocol_Handler *&ph); + + static JAWS_THYBRID_Concurrency * instance (void) + { + return ACE_Singleton<JAWS_THYBRID_Concurrency, ACE_SYNCH_MUTEX> + ::instance (); + } + +private: + + ACE_Atomic_Op<ACE_SYNCH_MUTEX, int> getting_; + int min_number_of_threads_; + int max_number_of_threads_; + int shutdown_task_; + int error_; + +}; + +#endif /* JAWS_THYBRID_CONCURRENCY_H */ |