#include <Consumer.h>
Inheritance diagram for TAO_Notify_Consumer:
Public Types | |
enum | DispatchStatus { DISPATCH_SUCCESS, DISPATCH_RETRY, DISPATCH_DISCARD, DISPATCH_FAIL } |
Status returned from dispatch attempts. More... | |
Public Member Functions | |
TAO_Notify_Consumer (TAO_Notify_ProxySupplier *proxy) | |
Constuctor. | |
virtual | ~TAO_Notify_Consumer () |
Destructor. | |
TAO_Notify_ProxySupplier * | proxy_supplier (void) |
Access Specific Proxy. | |
virtual TAO_Notify_Proxy * | proxy (void) |
Access Base Proxy. | |
void | deliver (TAO_Notify_Method_Request_Event *request ACE_ENV_ARG_DECL) |
Dispatch Event to consumer. | |
virtual void | push (const CORBA::Any &event ACE_ENV_ARG_DECL)=0 |
Push <event> to this consumer. | |
virtual void | push (const CosNotification::StructuredEvent &event ACE_ENV_ARG_DECL)=0 |
Push <event> to this consumer. | |
virtual void | push (const CosNotification::EventBatch &event ACE_ENV_ARG_DECL)=0 |
Push a batch of events to this consumer. | |
DispatchStatus | dispatch_batch (const CosNotification::EventBatch &batch) |
Dispatch the batch of events to the attached consumer. | |
void | dispatch_pending (ACE_ENV_SINGLE_ARG_DECL) |
Dispatch the pending events. | |
CORBA::Boolean | is_suspended (void) |
Is the connection suspended? | |
void | suspend (ACE_ENV_SINGLE_ARG_DECL) |
Suspend Connection. | |
void | resume (ACE_ENV_SINGLE_ARG_DECL) |
Resume Connection. | |
virtual void | shutdown (ACE_ENV_SINGLE_ARG_DECL) |
Shutdown the consumer. | |
virtual void | reconnect_from_consumer (TAO_Notify_Consumer *old_consumer ACE_ENV_ARG_DECL)=0 |
virtual void | qos_changed (const TAO_Notify_QoSProperties &qos_properties) |
Override, Peer::qos_changed. | |
Protected Types | |
typedef ACE_Unbounded_Queue< TAO_Notify_Method_Request_Event_Queueable * > | Request_Queue |
Protected Member Functions | |
DispatchStatus | dispatch_request (TAO_Notify_Method_Request_Event *request) |
virtual bool | dispatch_from_queue (Request_Queue &requests, ACE_Guard< TAO_SYNCH_MUTEX > &ace_mon) |
Attempt to dispatch event from a queue. | |
void | enqueue_request (TAO_Notify_Method_Request_Event *request ACE_ENV_ARG_DECL) |
virtual bool | enqueue_if_necessary (TAO_Notify_Method_Request_Event *request ACE_ENV_ARG_DECL) |
virtual void | dispatch_updates_i (const CosNotification::EventTypeSeq &added, const CosNotification::EventTypeSeq &removed ACE_ENV_ARG_DECL) |
Implementation of Peer specific dispatch_updates. | |
TAO_SYNCH_MUTEX * | proxy_lock (void) |
Get the shared Proxy Lock. | |
virtual int | handle_timeout (const ACE_Time_Value ¤t_time, const void *act=0) |
void | schedule_timer (bool is_error=false) |
Schedule timer. | |
void | cancel_timer (void) |
Cancel timer. | |
Request_Queue & | pending_events () |
= Protected Data Members | |
Protected Attributes | |
TAO_Notify_ProxySupplier * | proxy_ |
The Proxy that we associate with. | |
CORBA::Boolean | is_suspended_ |
Suspended Flag. | |
CosNotifyComm::NotifyPublish_var | publish_ |
Interface that accepts offer_changes. | |
const TAO_Notify_Property_Time & | pacing_ |
The Pacing Interval. | |
TAO_Notify_Property_Long | max_batch_size_ |
Max. batch size. | |
long | timer_id_ |
Timer Id. | |
TAO_Notify_Timer::Ptr | timer_ |
The Timer Manager that we use. | |
Private Attributes | |
ACE_Auto_Ptr< Request_Queue > | pending_events_ |
Events pending to be delivered. |
|
|
|
Status returned from dispatch attempts.
|
|
Constuctor.
|
|
Destructor.
|
|
Cancel timer.
|
|
Dispatch Event to consumer.
|
|
Dispatch the batch of events to the attached consumer.
|
|
Attempt to dispatch event from a queue. Called by dispatch_pending. Deliver one or more events to the Consumer. If delivery fails, events are left in the queue (or discarded depending on QoS parameters.) Undelivered, undiscarded requests are left at the front of the queue. Overridden in sequence consumer to dispatch as an EventBatch.
|
|
Dispatch the pending events.
|
|
|
|
Implementation of Peer specific dispatch_updates.
Implements TAO_Notify_Peer. |
|
Add request to a queue if necessary. Overridden by sequence consumer to "always" put incoming events into the queue.
|
|
|
|
Reimplemented from ACE_Event_Handler. |
|
Is the connection suspended?
|
|
= Protected Data Members
|
|
Access Base Proxy.
Implements TAO_Notify_Peer. |
|
Get the shared Proxy Lock.
|
|
Access Specific Proxy.
|
|
Push a batch of events to this consumer.
|
|
Push <event> to this consumer.
|
|
Push <event> to this consumer.
|
|
Override, Peer::qos_changed.
Reimplemented from TAO_Notify_Peer. |
|
on reconnect we need to move events from the old consumer to the new one |
|
Resume Connection.
|
|
Schedule timer.
|
|
Shutdown the consumer.
Reimplemented from TAO_Notify_Peer. |
|
Suspend Connection.
|
|
Suspended Flag.
|
|
Max. batch size.
|
|
The Pacing Interval.
|
|
Events pending to be delivered.
|
|
The Proxy that we associate with.
|
|
Interface that accepts offer_changes.
|
|
The Timer Manager that we use.
|
|
Timer Id.
|