TAO_CosNotification
2.2.5
|
#include <SequencePushConsumer.h>
Public Member Functions | |
TAO_Notify_SequencePushConsumer (TAO_Notify_ProxySupplier *proxy) | |
virtual | ~TAO_Notify_SequencePushConsumer () |
void | init (CosNotifyComm::SequencePushConsumer_ptr push_consumer) |
Init the Consumer. More... | |
virtual bool | enqueue_if_necessary (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. More... | |
virtual void | push (const CORBA::Any &event) |
Push event to this consumer. More... | |
virtual void | push (const CosNotification::StructuredEvent &event) |
Push event. More... | |
virtual void | push (const CosNotification::EventBatch &event) |
Push a batch of events to this consumer. More... | |
virtual ACE_CString | get_ior (void) const |
Retrieve the ior of this peer. More... | |
virtual void | reconnect_from_consumer (TAO_Notify_Consumer *old_consumer) |
Public Member Functions inherited from TAO_Notify_Consumer | |
TAO_Notify_Consumer (TAO_Notify_ProxySupplier *proxy) | |
Constructor. More... | |
virtual | ~TAO_Notify_Consumer () |
Destructor. More... | |
CORBA::ULong | _incr_refcnt (void) |
This method sigantures deliberately match the RefCounting methods required for ESF Proxy. More... | |
CORBA::ULong | _decr_refcnt (void) |
TAO_Notify_ProxySupplier * | proxy_supplier (void) |
Access Specific Proxy. More... | |
virtual TAO_Notify_Proxy * | proxy (void) |
Access Base Proxy. More... | |
void | deliver (TAO_Notify_Method_Request_Event *request) |
Dispatch Event to consumer. More... | |
DispatchStatus | dispatch_batch (const CosNotification::EventBatch &batch) |
Dispatch the batch of events to the attached consumer. More... | |
void | dispatch_pending (void) |
Dispatch the pending events. More... | |
CORBA::Boolean | is_suspended (void) |
Is the connection suspended? More... | |
void | suspend (void) |
Suspend Connection. More... | |
void | resume (void) |
Resume Connection. More... | |
virtual void | shutdown (void) |
Shutdown the consumer. More... | |
virtual void | qos_changed (const TAO_Notify_QoSProperties &qos_properties) |
Override, Peer::qos_changed. More... | |
void | assume_pending_events (TAO_Notify_Consumer &rhs) |
bool | is_alive (bool allow_nil_consumer) |
Is the connected consumer still around? More... | |
size_t | pending_count (void) |
Public Member Functions inherited from TAO_Notify_Peer | |
TAO_Notify_Peer (void) | |
Constructor. More... | |
virtual | ~TAO_Notify_Peer () |
Destructor. More... | |
CORBA::ULong | _incr_refcnt (void) |
CORBA::ULong | _decr_refcnt (void) |
virtual void | dispatch_updates (const TAO_Notify_EventTypeSeq &added, const TAO_Notify_EventTypeSeq &removed) |
void | handle_dispatch_exception (void) |
Handle dispatch exceptions. More... | |
Protected Member Functions | |
virtual CORBA::Object_ptr | get_consumer (void) |
Protected Member Functions inherited from TAO_Notify_Consumer | |
DispatchStatus | dispatch_request (TAO_Notify_Method_Request_Event *request) |
void | enqueue_request (TAO_Notify_Method_Request_Event *request) |
virtual void | dispatch_updates_i (const CosNotification::EventTypeSeq &added, const CosNotification::EventTypeSeq &removed) |
Implementation of Peer specific dispatch_updates. More... | |
TAO_SYNCH_MUTEX * | proxy_lock (void) |
Get the shared Proxy Lock. More... | |
virtual int | handle_timeout (const ACE_Time_Value ¤t_time, const void *act=0) |
void | schedule_timer (bool is_error=false) |
Schedule timer. More... | |
void | cancel_timer (void) |
Cancel timer. More... | |
Request_Queue & | pending_events () |
= Protected Data Members More... | |
Protected Attributes | |
CosNotifyComm::SequencePushConsumer_var | push_consumer_ |
The Consumer. More... | |
Protected Attributes inherited from TAO_Notify_Consumer | |
TAO_Notify_ProxySupplier * | proxy_ |
The Proxy that we associate with. More... | |
CORBA::Boolean | is_suspended_ |
Suspended Flag. More... | |
CosNotifyComm::NotifyPublish_var | publish_ |
Interface that accepts offer_changes. More... | |
bool | have_not_yet_verified_publish_ |
const TAO_Notify_Property_Time & | pacing_ |
The Pacing Interval. More... | |
TAO_Notify_Property_Long | max_batch_size_ |
Max. batch size. More... | |
long | timer_id_ |
Timer Id. More... | |
TAO_Notify_Timer::Ptr | timer_ |
The Timer Manager that we use. More... | |
ACE_Atomic_Op< TAO_SYNCH_MUTEX, ACE_Time_Value > | last_ping_ |
Private Member Functions | |
virtual void | release (void) |
TAO_Notify_Destroy_Callback methods. More... | |
Additional Inherited Members | |
Public Types inherited from TAO_Notify_Consumer | |
enum | DispatchStatus { DISPATCH_SUCCESS, DISPATCH_RETRY, DISPATCH_DISCARD, DISPATCH_FAIL, DISPATCH_FAIL_TIMEOUT } |
Status returned from dispatch attempts. More... | |
typedef TAO_Notify_Refcountable_Guard_T < TAO_Notify_Consumer > | Ptr |
Public Types inherited from TAO_Notify_Peer | |
typedef TAO_Notify_Refcountable_Guard_T < TAO_Notify_Peer > | Ptr |
Protected Types inherited from TAO_Notify_Consumer | |
typedef ACE_Unbounded_Queue < TAO_Notify_Method_Request_Event_Queueable * > | Request_Queue |
TAO_Notify_SequencePushConsumer::TAO_Notify_SequencePushConsumer | ( | TAO_Notify_ProxySupplier * | proxy | ) |
|
virtual |
|
virtual |
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.
Reimplemented from TAO_Notify_Consumer.
|
virtual |
Add request to a queue if necessary. for Sequence it's always necessary.
Reimplemented from TAO_Notify_Consumer.
|
protectedvirtual |
This method is called by the is_alive() method. It should provide the connected consumer or nil if there is none.
Implements TAO_Notify_Consumer.
|
virtual |
Retrieve the ior of this peer.
Implements TAO_Notify_Peer.
void TAO_Notify_SequencePushConsumer::init | ( | CosNotifyComm::SequencePushConsumer_ptr | push_consumer | ) |
Init the Consumer.
|
virtual |
Push event to this consumer.
Implements TAO_Notify_Consumer.
|
virtual |
Push event.
Implements TAO_Notify_Consumer.
|
virtual |
Push a batch of events to this consumer.
Implements TAO_Notify_Consumer.
|
virtual |
on reconnect we need to move events from the old consumer to the new one
Implements TAO_Notify_Consumer.
|
privatevirtual |
TAO_Notify_Destroy_Callback methods.
Implements TAO_Notify_Peer.
|
protected |
The Consumer.