diff options
author | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-06-18 04:30:14 +0000 |
---|---|---|
committer | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-06-18 04:30:14 +0000 |
commit | bf5eca3c6028196adf55b0b74a380cd37c637d0d (patch) | |
tree | f500224f03ffd1b77161ceb329bad944534daa43 /TAO/orbsvcs/tests/EC_Multiple/EC_Multiple.h | |
parent | bea2d5efbb905a70d695f78b0a64e51ed24ab7f8 (diff) | |
download | ATCD-bf5eca3c6028196adf55b0b74a380cd37c637d0d.tar.gz |
ChangeLogTag:Wed Jun 17 23:29:06 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
Diffstat (limited to 'TAO/orbsvcs/tests/EC_Multiple/EC_Multiple.h')
-rw-r--r-- | TAO/orbsvcs/tests/EC_Multiple/EC_Multiple.h | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/TAO/orbsvcs/tests/EC_Multiple/EC_Multiple.h b/TAO/orbsvcs/tests/EC_Multiple/EC_Multiple.h index 86939873f4a..b9b727473e1 100644 --- a/TAO/orbsvcs/tests/EC_Multiple/EC_Multiple.h +++ b/TAO/orbsvcs/tests/EC_Multiple/EC_Multiple.h @@ -47,6 +47,9 @@ public: CORBA::Environment& _env); // This method connects the supplier to the EC. + void close (CORBA::Environment &_env); + // Disconnect from the EC. + void activate (const char* name, const RtecScheduler::Period& rate, RtecEventChannelAdmin::EventChannel_ptr ec, @@ -113,6 +116,9 @@ public: CORBA::Environment& _env); // This method connects the consumer to the EC. + void close (CORBA::Environment &_env); + // Disconnect from the EC. + virtual void push (const RtecEventComm::EventSet& events, CORBA::Environment &_env); virtual void disconnect_push_consumer (CORBA::Environment &); @@ -197,6 +203,7 @@ private: void connect_suppliers (RtecEventChannelAdmin::EventChannel_ptr local_ec, CORBA::Environment &_env); + void disconnect_suppliers (CORBA::Environment &_env); // Connect the suppliers. void activate_suppliers (RtecEventChannelAdmin::EventChannel_ptr local_ec, @@ -212,7 +219,8 @@ private: void connect_consumers (RtecEventChannelAdmin::EventChannel_ptr local_ec, CORBA::Environment &_env); - // Connect the consumers. + void disconnect_consumers (CORBA::Environment &_env); + // Connect and disconnect the consumers. int shutdown (CORBA::Environment&); // Called when the main thread (i.e. not the scavenger thread) is @@ -259,6 +267,12 @@ private: // "local" instantiate a local config time scheduling service. // "runtime" instantiates a local rumtime scheduling service. + int consumer_disconnects_; + int supplier_disconnects_; + // How many times to disconnect the consumers (and suppliers) before + // the final connection. This is useful to test the disconnection in + // the EC. + int short_circuit_; // Don't send the messages through the EC. This is needed to measure // the overhead introduced by the EC. @@ -340,17 +354,17 @@ private: // Store the measurements for local and remote events.. int ready_; - ACE_Thread_Mutex ready_mtx_; - ACE_Condition<ACE_Thread_Mutex> ready_cnd_; + ACE_SYNCH_MUTEX ready_mtx_; + ACE_Condition<ACE_SYNCH_MUTEX> ready_cnd_; // Before accepting any events the suppliers must wait for the test // to setup all the consumers. // The suppliers wait on the condition variable. - ACE_Atomic_Op<ACE_Thread_Mutex,int> running_suppliers_; + ACE_Atomic_Op<ACE_SYNCH_MUTEX,int> running_suppliers_; // keep track of how many suppliers are still running so we shutdown // at the right moment. - ACE_Atomic_Op<ACE_Thread_Mutex,int> running_consumers_; + ACE_Atomic_Op<ACE_SYNCH_MUTEX,int> running_consumers_; // keep track of how many consumers are still running so we shutdown // at the right moment. |