24#ifndef __DOB_UTILITIES_ACE_DISPATCHER_H__
25#define __DOB_UTILITIES_ACE_DISPATCHER_H__
27#ifndef SAFIR_NO_DEPRECATED
29#include <boost/noncopyable.hpp>
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 int handle_exception(ACE_HANDLE)
override
102 void OnDoDispatch()
override
104 if (!m_isNotified.test_and_set())
106 reactor()->notify(
this);
112 std::atomic_flag m_isNotified;
This namespace contains all the functionality and definitions of the SAFIR SDK.
Definition Backdoor.h:31
A connection to the DOB.
Definition Connection.h:46
void Dispatch() const
When the dispatch event or callback is signalled, the application MUST call this method.
Interface for reception of a dispatch order.
Definition Consumer.h:74
The class makes a thread switch and perform a dispatch on Dob connection.
Definition AceDispatcher.h:59
AceDispatcher(const Safir::Dob::Connection &connection)
Constructor.
Definition AceDispatcher.h:67
AceDispatcher(const Safir::Dob::Connection &connection, ACE_Reactor *reactor)
Constructor.
Definition AceDispatcher.h:79