summaryrefslogtreecommitdiff
path: root/ACE/apps/JAWS3/jaws3/THYBRID_Concurrency.h
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/apps/JAWS3/jaws3/THYBRID_Concurrency.h')
-rw-r--r--ACE/apps/JAWS3/jaws3/THYBRID_Concurrency.h37
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 */