TAO_CosNotification 4.0.0
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
TAO_Notify_PushConsumer Class Reference

Wrapper for the PushConsumer that connect to the EventChannel. More...

#include <PushConsumer.h>

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

Public Member Functions

 TAO_Notify_PushConsumer (TAO_Notify_ProxySupplier *proxy)
 Constructor.
 
virtual ~TAO_Notify_PushConsumer ()
 Destructor.
 
void init (CosEventComm::PushConsumer_ptr push_consumer)
 Init.
 
virtual void push (const CORBA::Any &event)
 Push event to this consumer.
 
virtual void push (const CosNotification::StructuredEvent &event)
 Push event to this consumer.
 
virtual void push (const CosNotification::EventBatch &event)
 Push a batch of events to this consumer.
 
virtual ACE_CString get_ior () const
 Retrieve the ior of this peer.
 
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.
 
virtual ~TAO_Notify_Consumer ()
 Destructor.
 
CORBA::ULong _incr_refcnt ()
 This method sigantures deliberately match the RefCounting methods required for ESF Proxy.
 
CORBA::ULong _decr_refcnt ()
 
TAO_Notify_ProxySupplierproxy_supplier ()
 Access Specific Proxy.
 
virtual TAO_Notify_Proxyproxy ()
 Access Base Proxy.
 
void deliver (TAO_Notify_Method_Request_Event *request)
 Dispatch Event to consumer.
 
DispatchStatus dispatch_batch (const CosNotification::EventBatch &batch)
 Dispatch the batch of events to the attached consumer.
 
void dispatch_pending ()
 Dispatch the pending events.
 
CORBA::Boolean is_suspended ()
 Is the connection suspended?
 
void suspend ()
 Suspend Connection.
 
void resume ()
 Resume Connection.
 
virtual void shutdown ()
 Shutdown the consumer.
 
virtual void qos_changed (const TAO_Notify_QoSProperties &qos_properties)
 Override, Peer::qos_changed.
 
void assume_pending_events (TAO_Notify_Consumer &rhs)
 
bool is_alive (bool allow_nil_consumer)
 Is the connected consumer still around?
 
size_t pending_count ()
 
- Public Member Functions inherited from TAO_Notify_Peer
 TAO_Notify_Peer ()
 Constructor.
 
virtual ~TAO_Notify_Peer ()
 Destructor.
 
CORBA::ULong _incr_refcnt ()
 
CORBA::ULong _decr_refcnt ()
 
virtual void dispatch_updates (const TAO_Notify_EventTypeSeq &added, const TAO_Notify_EventTypeSeq &removed)
 
void handle_dispatch_exception ()
 Handle dispatch exceptions.
 
- Public Member Functions inherited from ACE_Event_Handler
virtual ~ACE_Event_Handler ()=default
 
virtual ACE_HANDLE get_handle () const
 
virtual void set_handle (ACE_HANDLE)
 
virtual int priority () const
 
virtual void priority (int priority)
 
virtual int handle_input (ACE_HANDLE fd=ACE_INVALID_HANDLE)
 
virtual int handle_output (ACE_HANDLE fd=ACE_INVALID_HANDLE)
 
virtual int handle_exception (ACE_HANDLE fd=ACE_INVALID_HANDLE)
 
virtual int handle_exit (ACE_Process *)
 
virtual int handle_close (ACE_HANDLE handle, ACE_Reactor_Mask close_mask)
 
virtual int handle_signal (int signum, siginfo_t *=0, ucontext_t *=0)
 
virtual int resume_handler ()
 
virtual int handle_qos (ACE_HANDLE=ACE_INVALID_HANDLE)
 
virtual int handle_group_qos (ACE_HANDLE=ACE_INVALID_HANDLE)
 
virtual void reactor (ACE_Reactor *reactor)
 
virtual ACE_Reactorreactor () const
 
virtual ACE_Reactor_Timer_Interfacereactor_timer_interface () const
 
virtual Reference_Count add_reference ()
 
virtual Reference_Count remove_reference ()
 
Reference_Counting_Policyreference_counting_policy ()
 

Protected Member Functions

virtual CORBA::Object_ptr get_consumer ()
 
- Protected Member Functions inherited from TAO_Notify_Consumer
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)
 
virtual bool enqueue_if_necessary (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.
 
TAO_SYNCH_MUTEXproxy_lock ()
 Get the shared Proxy Lock.
 
virtual int handle_timeout (const ACE_Time_Value &current_time, const void *act=0)
 
void schedule_timer (bool is_error=false)
 Schedule timer.
 
void cancel_timer ()
 Cancel timer.
 
Request_Queuepending_events ()
 = Protected Data Members
 
- Protected Member Functions inherited from ACE_Event_Handler
 ACE_Event_Handler (ACE_Reactor *=nullptr, int priority=ACE_Event_Handler::LO_PRIORITY)
 

Protected Attributes

CosEventComm::PushConsumer_var push_consumer_
 The Consumer.
 
- Protected Attributes inherited from TAO_Notify_Consumer
TAO_Notify_ProxySupplierproxy_
 The Proxy that we associate with.
 
CORBA::Boolean is_suspended_
 Suspended Flag.
 
CosNotifyComm::NotifyPublish_var publish_
 Interface that accepts offer_changes.
 
bool have_not_yet_verified_publish_
 
const TAO_Notify_Property_Timepacing_
 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.
 
ACE_Atomic_Op< TAO_SYNCH_MUTEX, ACE_Time_Valuelast_ping_
 
- Protected Attributes inherited from ACE_Event_Handler
Atomic_Reference_Count reference_count_
 

Private Member Functions

virtual void release ()
 TAO_Notify_Destroy_Callback methods.
 

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_ConsumerPtr
 
- Public Types inherited from TAO_Notify_Peer
typedef TAO_Notify_Refcountable_Guard_T< TAO_Notify_PeerPtr
 
- Public Types inherited from ACE_Event_Handler
typedef long Reference_Count
 
- Static Public Member Functions inherited from ACE_Event_Handler
static ACE_THR_FUNC_RETURN read_adapter (void *event_handler)
 
static int register_stdin_handler (ACE_Event_Handler *eh, ACE_Reactor *reactor, ACE_Thread_Manager *thr_mgr, int flags=THR_DETACHED)
 
static int remove_stdin_handler (ACE_Reactor *reactor, ACE_Thread_Manager *thr_mgr)
 
- Public Attributes inherited from ACE_Event_Handler
 LO_PRIORITY
 
 HI_PRIORITY
 
 NULL_MASK
 
 READ_MASK
 
 WRITE_MASK
 
 EXCEPT_MASK
 
 ACCEPT_MASK
 
 CONNECT_MASK
 
 TIMER_MASK
 
 QOS_MASK
 
 GROUP_QOS_MASK
 
 SIGNAL_MASK
 
 ALL_EVENTS_MASK
 
 RWE_MASK
 
 DONT_CALL
 
 ACE_EVENT_HANDLER_NOT_RESUMED
 
 ACE_REACTOR_RESUMES_HANDLER
 
 ACE_APPLICATION_RESUMES_HANDLER
 
- Protected Types inherited from TAO_Notify_Consumer
typedef ACE_Unbounded_Queue< TAO_Notify_Method_Request_Event_Queueable * > Request_Queue
 
- Protected Types inherited from ACE_Event_Handler
typedef std::atomic< Reference_CountAtomic_Reference_Count
 

Detailed Description

Wrapper for the PushConsumer that connect to the EventChannel.

Constructor & Destructor Documentation

◆ TAO_Notify_PushConsumer()

TAO_Notify_PushConsumer::TAO_Notify_PushConsumer ( TAO_Notify_ProxySupplier * proxy)

Constructor.

◆ ~TAO_Notify_PushConsumer()

TAO_Notify_PushConsumer::~TAO_Notify_PushConsumer ( )
virtual

Destructor.

Member Function Documentation

◆ get_consumer()

CORBA::Object_ptr TAO_Notify_PushConsumer::get_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.

◆ get_ior()

ACE_CString TAO_Notify_PushConsumer::get_ior ( ) const
virtual

Retrieve the ior of this peer.

Implements TAO_Notify_Peer.

◆ init()

void TAO_Notify_PushConsumer::init ( CosEventComm::PushConsumer_ptr push_consumer)

Init.

◆ push() [1/3]

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

Push event to this consumer.

Implements TAO_Notify_Consumer.

◆ push() [2/3]

void TAO_Notify_PushConsumer::push ( const CosNotification::EventBatch & event)
virtual

Push a batch of events to this consumer.

Implements TAO_Notify_Consumer.

◆ push() [3/3]

void TAO_Notify_PushConsumer::push ( const CosNotification::StructuredEvent & event)
virtual

Push event to this consumer.

Implements TAO_Notify_Consumer.

◆ reconnect_from_consumer()

void TAO_Notify_PushConsumer::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.

◆ release()

void TAO_Notify_PushConsumer::release ( )
privatevirtual

TAO_Notify_Destroy_Callback methods.

Implements TAO_Notify_Peer.

Member Data Documentation

◆ push_consumer_

CosEventComm::PushConsumer_var TAO_Notify_PushConsumer::push_consumer_
protected

The Consumer.


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