summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.h')
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.h118
1 files changed, 4 insertions, 114 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.h b/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.h
index 264417b61d3..a68171f1d80 100644
--- a/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.h
+++ b/TAO/orbsvcs/orbsvcs/Event/EC_Event_Channel.h
@@ -35,55 +35,6 @@
#include "orbsvcs/RtecEventChannelAdminS.h"
#include "EC_Factory.h"
-class TAO_ORBSVCS_Export TAO_EC_Event_Channel_Attributes
-{
- // = TITLE
- // Defines the construction time attributes for the Event
- // Channel.
- //
- // = DESCRIPTION
- // The event channel implementation is controlled by two
- // mechanisms:
- // The EC_Factory that provides the strategies for the EC
- // implementation.
- // The EC attributes that define constants and values required
- // by the EC construction.
- // This class encapsulates those constants and values, providing
- // an easy mechanism to extend the attributes without requiring
- // changes in the EC constructor.
- //
-public:
- TAO_EC_Event_Channel_Attributes (PortableServer::POA_ptr supplier_poa,
- PortableServer::POA_ptr consumer_poa);
- // The basic constructor.
- // The attributes listed as arguments are *required* by the EC, and
- // no appropiate defaults are available for them.
-
- // Most fields are public, there is no need to protect them, in fact
- // the user should be able to set any values she wants.
-
- int consumer_reconnect;
- int supplier_reconnect;
- // Can consumers or suppliers invoke connect_push_* multiple times?
-
- int busy_hwm;
- int max_write_delay;
- // Flags for the Consumer Admin
-
- RtecScheduler::Scheduler_ptr scheduler;
- // The scheduling service that we will use with this event channel.
- // Notice that this is optional and will only take effect if the EC
- // is configured with the right filtering strategies.
-
-private:
- friend class TAO_EC_Event_Channel;
- // Only the EC can read the private fields.
-
- PortableServer::POA_ptr supplier_poa;
- PortableServer::POA_ptr consumer_poa;
- // The POAs
-};
-
class TAO_ORBSVCS_Export TAO_EC_Event_Channel : public POA_RtecEventChannelAdmin::EventChannel
{
// = TITLE
@@ -98,13 +49,8 @@ class TAO_ORBSVCS_Export TAO_EC_Event_Channel : public POA_RtecEventChannelAdmin
// interface to the EC_Factory.
//
public:
- TAO_EC_Event_Channel (const TAO_EC_Event_Channel_Attributes& attributes,
- TAO_EC_Factory* factory = 0,
- int own_factory = 0);
+ TAO_EC_Event_Channel (TAO_EC_Factory* factory);
// constructor
- // If <own_factory> is not 0 it assumes ownership of the factory.
- // If the factory is <nil> it uses the Service_Configurator to load
- // the Factory, if not found it uses TAO_EC_Default_Resource_Factory
virtual ~TAO_EC_Event_Channel (void);
// destructor
@@ -123,9 +69,6 @@ public:
TAO_EC_Filter_Builder* filter_builder (void) const;
// Access the filter builder....
- TAO_EC_Supplier_Filter_Builder* supplier_filter_builder (void) const;
- // Access the filter builder....
-
TAO_EC_ConsumerAdmin* consumer_admin (void) const;
// Access the consumer admin implementation, useful for controlling
// the activation...
@@ -137,9 +80,6 @@ public:
TAO_EC_Timeout_Generator* timeout_generator (void) const;
// Access the timer module...
- TAO_EC_Scheduling_Strategy* scheduling_strategy (void) const;
- // Access the scheduling strategy
-
// = The factory methods, they delegate on the EC_Factory.
TAO_EC_ProxyPushSupplier* create_proxy_push_supplier (void);
void destroy_proxy_push_supplier (TAO_EC_ProxyPushSupplier*);
@@ -153,8 +93,8 @@ public:
void destroy_proxy_push_supplier_set (TAO_EC_ProxyPushSupplier_Set*);
// Create and destroy a ProxyPushSupplier_Set
- PortableServer::POA_ptr supplier_poa (void);
- PortableServer::POA_ptr consumer_poa (void);
+ PortableServer::POA_ptr supplier_poa (CORBA::Environment&);
+ PortableServer::POA_ptr consumer_poa (CORBA::Environment&);
// Access the supplier and consumer POAs from the factory.
ACE_Lock* create_consumer_lock (void);
@@ -164,13 +104,6 @@ public:
// Locking strategies for the ProxyPushConsumer and
// ProxyPushSupplier objects
- ACE_Lock* create_consumer_admin_lock (void);
- void destroy_consumer_admin_lock (ACE_Lock*);
- ACE_Lock* create_supplier_admin_lock (void);
- void destroy_supplier_admin_lock (ACE_Lock*);
- // Locking strategies for the ConsumerAdmin and SupplierAdmin
- // objects
-
virtual void connected (TAO_EC_ProxyPushConsumer*,
CORBA::Environment&);
virtual void disconnected (TAO_EC_ProxyPushConsumer*,
@@ -185,23 +118,6 @@ public:
// Used to inform the EC that a Supplier has connected or
// disconnected from it.
- // Simple flags to control the EC behavior, set by the application
- // at construction time.
-
- int consumer_reconnect (void) const;
- // Can the consumers reconnect to the EC?
-
- int supplier_reconnect (void) const;
- // Can the suppliers reconnect to the EC?
-
- RtecScheduler::Scheduler_ptr scheduler (void);
- // Obtain the scheduler, the user must release
-
- int busy_hwm (void) const;
- int max_write_delay (void) const;
- // Control the concurrency of the delayed connect/disconnect
- // operations.
-
// = The RtecEventChannelAdmin::EventChannel methods...
virtual RtecEventChannelAdmin::ConsumerAdmin_ptr
for_consumers (CORBA::Environment& env);
@@ -218,7 +134,7 @@ public:
virtual RtecEventChannelAdmin::Observer_Handle
append_observer (RtecEventChannelAdmin::Observer_ptr,
- CORBA::Environment &env)
+ CORBA::Environment &env)
TAO_THROW_SPEC ((CORBA::SystemException,
RtecEventChannel::EventChannel::SYNCHRONIZATION_ERROR,
RtecEventChannel::EventChannel::CANT_APPEND_OBSERVER));
@@ -230,28 +146,17 @@ public:
RtecEventChannel::EventChannel::CANT_REMOVE_OBSERVER));
private:
- PortableServer::POA_var supplier_poa_;
- PortableServer::POA_var consumer_poa_;
- // The POAs used to activate "supplier-side" and "consumer-side"
- // objects.
-
TAO_EC_Factory *factory_;
// This is the abstract factory that creates all the objects that
// compose an event channel, the event channel simply acts as a
// Mediator among them.
- int own_factory_;
- // Flag that indicates if we own the factory.
-
TAO_EC_Dispatching *dispatching_;
// The dispatching "module"
TAO_EC_Filter_Builder *filter_builder_;
// The filter builder
- TAO_EC_Supplier_Filter_Builder *supplier_filter_builder_;
- // The filter builder for suppliers
-
TAO_EC_ConsumerAdmin *consumer_admin_;
// The ConsumerAdmin implementation
@@ -263,21 +168,6 @@ private:
TAO_EC_ObserverStrategy *observer_strategy_;
// The observer strategy
-
- RtecScheduler::Scheduler_var scheduler_;
- // The scheduler (may be nil)
-
- TAO_EC_Scheduling_Strategy *scheduling_strategy_;
- // The scheduling strategy
-
- int consumer_reconnect_;
- int supplier_reconnect_;
- // Consumer/Supplier reconnection flags
-
- int busy_hwm_;
- int max_write_delay_;
- // Control the level of concurrency in the supplier sets with
- // delayed operations
};
#if defined (__ACE_INLINE__)