summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/tests/Event/lib/Consumer.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/tests/Event/lib/Consumer.h')
-rw-r--r--TAO/orbsvcs/tests/Event/lib/Consumer.h121
1 files changed, 0 insertions, 121 deletions
diff --git a/TAO/orbsvcs/tests/Event/lib/Consumer.h b/TAO/orbsvcs/tests/Event/lib/Consumer.h
deleted file mode 100644
index 439b95f9747..00000000000
--- a/TAO/orbsvcs/tests/Event/lib/Consumer.h
+++ /dev/null
@@ -1,121 +0,0 @@
-/* -*- C++ -*- */
-//=============================================================================
-/**
- * @file Consumer.h
- *
- * $Id$
- *
- * @author Carlos O'Ryan (coryan@cs.wustl.edu)
- */
-//=============================================================================
-
-
-#ifndef EC_CONSUMER_H
-#define EC_CONSUMER_H
-
-#include "Driver.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "orbsvcs/RtecEventCommS.h"
-#include "orbsvcs/RtecEventChannelAdminC.h"
-#include "ace/OS_NS_time.h"
-
-/**
- * @class EC_Consumer
- *
- * @brief Simple consumer object to implement EC tests.
- *
- * This class is a consumer of events.
- * The class is just a helper to simplify common tasks in EC
- * tests, such as subscribing for a range of events, disconnecting
- * from the EC, informing the driver of shutdown messages, etc.
- * There are several ways to connect and disconnect this class,
- * and it is up to the driver program to use the right one.
- */
-class EC_Test_Export EC_Consumer : public POA_RtecEventComm::PushConsumer
-{
-public:
- /// Constructor
- EC_Consumer (EC_Driver* driver, void* cookie);
-
- /// The driver program can build the QoS attributes and obtain the
- /// ConsumerAdmin, we do the rest.
- virtual void connect (
- RtecEventChannelAdmin::ConsumerAdmin_ptr consumer_admin,
- const RtecEventChannelAdmin::ConsumerQOS& qos,
- int shutdown_event_type
- ACE_ENV_ARG_DECL);
-
- /**
- * The driver program can build the QoS attributes and we use
- * whatevet supplier_proxy we already have (useful for reconnection
- * tests).
- */
- virtual void connect (
- const RtecEventChannelAdmin::ConsumerQOS& qos,
- int shutdown_event_type
- ACE_ENV_ARG_DECL);
-
- /// returns 0 if it is not connected
- virtual int connected (void) const;
-
- /// The application can invoke this method to disconnect from the EC
- /// and deactivate this class.
- void disconnect (ACE_ENV_SINGLE_ARG_DECL);
-
- /// The application is shutting down, deactivate the consumer.
- void shutdown (ACE_ENV_SINGLE_ARG_DECL);
-
- /// Accumulate our statistics to the totals.
- void accumulate (ACE_Throughput_Stats& throughput) const;
-
- /// Printout the statistics
- virtual void dump_results (const char* name,
- ACE_UINT32 global_scale_factor);
-
- // = The RtecEventComm::PushConsumer methods
-
- /// The skeleton methods.
- virtual void push (const RtecEventComm::EventSet& events
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual void disconnect_push_consumer (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- /// The main driver for the test.
- EC_Driver* driver_;
-
- /// A magic cookie passed by the driver that we pass back in our
- /// callbacks.
- void* cookie_;
-
- /// We talk to the EC using this proxy.
- RtecEventChannelAdmin::ProxyPushSupplier_var supplier_proxy_;
-
- /// Protect internal state
- TAO_SYNCH_MUTEX lock_;
-
- /// The timestamp for the first message received
- ACE_hrtime_t throughput_start_;
-
- /// Used for reporting stats
- ACE_Throughput_Stats throughput_;
-
- /// The number of push() calls
- int push_count_;
-
- /// The type used to indicate shutdown
- int shutdown_event_type_;
-
- /// Is the consumer active in the POA?
- int is_active_;
-
- /// Cache the object reference to speed up connect/disconnect calls.
- RtecEventComm::PushConsumer_var myself_;
-};
-
-#endif /* ECT_CONSUMER_H */