TAO_CosNotification  2.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
TAO_Notify_SequencePushConsumer Class Reference

#include <SequencePushConsumer.h>

Inheritance diagram for TAO_Notify_SequencePushConsumer:
Inheritance graph
[legend]
Collaboration diagram for TAO_Notify_SequencePushConsumer:
Collaboration graph
[legend]

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_ProxySupplierproxy_supplier (void)
 Access Specific Proxy. More...
 
virtual TAO_Notify_Proxyproxy (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_MUTEXproxy_lock (void)
 Get the shared Proxy Lock. More...
 
virtual int handle_timeout (const ACE_Time_Value &current_time, const void *act=0)
 
void schedule_timer (bool is_error=false)
 Schedule timer. More...
 
void cancel_timer (void)
 Cancel timer. More...
 
Request_Queuepending_events ()
 = Protected Data Members More...
 

Protected Attributes

CosNotifyComm::SequencePushConsumer_var push_consumer_
 The Consumer. More...
 
- Protected Attributes inherited from TAO_Notify_Consumer
TAO_Notify_ProxySupplierproxy_
 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_Timepacing_
 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
 

Constructor & Destructor Documentation

TAO_Notify_SequencePushConsumer::TAO_Notify_SequencePushConsumer ( TAO_Notify_ProxySupplier proxy)
TAO_Notify_SequencePushConsumer::~TAO_Notify_SequencePushConsumer ( )
virtual

Member Function Documentation

bool TAO_Notify_SequencePushConsumer::dispatch_from_queue ( Request_Queue requests,
ACE_Guard< TAO_SYNCH_MUTEX > &  ace_mon 
)
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.

Returns
false if delivery failed and the request(s) cannot be discarded.

Reimplemented from TAO_Notify_Consumer.

bool TAO_Notify_SequencePushConsumer::enqueue_if_necessary ( TAO_Notify_Method_Request_Event request)
virtual

Add request to a queue if necessary. for Sequence it's always necessary.

Reimplemented from TAO_Notify_Consumer.

CORBA::Object_ptr TAO_Notify_SequencePushConsumer::get_consumer ( void  )
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.

ACE_CString TAO_Notify_SequencePushConsumer::get_ior ( void  ) const
virtual

Retrieve the ior of this peer.

Implements TAO_Notify_Peer.

void TAO_Notify_SequencePushConsumer::init ( CosNotifyComm::SequencePushConsumer_ptr  push_consumer)

Init the Consumer.

void TAO_Notify_SequencePushConsumer::push ( const CORBA::Any &  event)
virtual

Push event to this consumer.

Implements TAO_Notify_Consumer.

void TAO_Notify_SequencePushConsumer::push ( const CosNotification::StructuredEvent event)
virtual

Push event.

Implements TAO_Notify_Consumer.

void TAO_Notify_SequencePushConsumer::push ( const CosNotification::EventBatch event)
virtual

Push a batch of events to this consumer.

Implements TAO_Notify_Consumer.

void TAO_Notify_SequencePushConsumer::reconnect_from_consumer ( TAO_Notify_Consumer old_consumer)
virtual

on reconnect we need to move events from the old consumer to the new one

Implements TAO_Notify_Consumer.

void TAO_Notify_SequencePushConsumer::release ( void  )
privatevirtual

TAO_Notify_Destroy_Callback methods.

Implements TAO_Notify_Peer.

Member Data Documentation

CosNotifyComm::SequencePushConsumer_var TAO_Notify_SequencePushConsumer::push_consumer_
protected

The Consumer.


The documentation for this class was generated from the following files: