17 #ifndef HH_SENF_Scheduler_FdEvent_ 18 #define HH_SENF_Scheduler_FdEvent_ 1 21 #include <boost/intrusive/set_hook.hpp> 34 typedef boost::intrusive::set_base_hook< boost::intrusive::tag<FdSetTag> >
FdSetBase;
99 template <
class Handle>
100 FdEvent(std::string
const & name, Callback
const & cb, Handle
const & handle,
int events,
101 bool initiallyEnabled =
true);
114 FdEvent(std::string
const & name, Callback
const & cb);
132 FdEvent & action(Callback
const & cb);
135 FdEvent & addEvents(
int events);
136 FdEvent & removeEvents(
int events);
139 template <
class Handle>
140 FdEvent & handle(Handle
const & handle);
148 virtual void signal(
int events);
149 virtual void v_run();
150 virtual char const * v_type()
const;
151 virtual std::string v_info()
const;
159 friend struct detail::FdSetCompare;
160 friend class detail::FdDispatcher;
161 friend class detail::FileDispatcher;
170 template <
class Handle>
FIFORunner public header.
int get_descriptor(Handle const &handle)
Get file descriptor from handle object.
boost::function< void(int)> Callback
StatsDataCollectorKernel signal
boost::intrusive::set_base_hook< boost::intrusive::tag< FdSetTag > > FdSetBase
DuplicateEventRegistrationException()