24 #ifndef __DOB_UTILITIES_ACE_DISPATCHER_H__
25 #define __DOB_UTILITIES_ACE_DISPATCHER_H__
27 #ifndef SAFIR_NO_DEPRECATED
29 #include <boost/noncopyable.hpp>
31 #include <Safir/Utilities/Internal/Atomic.h>
34 #pragma warning (push)
35 #pragma warning (disable: 4127 4244 4251)
38 #include <ace/Reactor.h>
57 public ACE_Event_Handler,
58 private boost::noncopyable
68 ACE_Event_Handler(ACE_Reactor::instance()),
69 m_connection(connection),
80 ACE_Reactor * reactor):
81 ACE_Event_Handler(reactor),
82 m_connection(connection),
91 virtual int handle_exception(ACE_HANDLE)
102 virtual void OnDoDispatch()
104 if (m_isNotified == 0)
107 reactor()->notify(
this);
113 Safir::Utilities::Internal::AtomicUint32 m_isNotified;
120 #endif // __DOB_UTILITIES_ACE_DISPATCHER_H__
This namespace contains all the functionality and definitions of the SAFIR SDK.
Definition: Backdoor.h:30
AceDispatcher(const Safir::Dob::Connection &connection)
Constructor.
Definition: AceDispatcher.h:67
Interface for reception of a dispatch order.
Definition: Consumer.h:72
AceDispatcher(const Safir::Dob::Connection &connection, ACE_Reactor *reactor)
Constructor.
Definition: AceDispatcher.h:79
void Dispatch() const
When the dispatch event or callback is signalled, the application MUST call this method.
The class makes a thread switch and perform a dispatch on Dob connection.
Definition: AceDispatcher.h:55
A connection to the DOB.
Definition: Connection.h:45