typedef boost::function<void (typename boost::call_traits<Handle>::param_type,
EventId) > Callback;
};
- typedef GenericCallback<int>::Callback Callback;
///////////////////////////////////////////////////////////////////////////
///\name Structors and default members
///@}
///////////////////////////////////////////////////////////////////////////
- void add(int fd, Callback const & cb, EventId eventMask = EV_ALL);
- void remove(int fd, EventId eventMask = EV_ALL);
-
template <class Handle>
void add(Handle const & handle,
typename GenericCallback<Handle>::Callback const & cb,
private:
Scheduler();
-
- struct EventSpec
+
+ typedef boost::function<void (EventId)> InternalCallback;
+
+ void do_add(int fd, InternalCallback const & cb, EventId eventMask = EV_ALL);
+ void do_remove(int fd, EventId eventMask = EV_ALL);
+
+ struct EventSpec
{
- Callback cb_read;
- Callback cb_prio;
- Callback cb_write;
- Callback cb_hup;
- Callback cb_err;
+ InternalCallback cb_read;
+ InternalCallback cb_prio;
+ InternalCallback cb_write;
+ InternalCallback cb_hup;
+ InternalCallback cb_err;
int epollMask() const;
};
bool terminate_;
};
+ int retrieve_filehandle(int fd);
+
}}
///////////////////////////////hh.e////////////////////////////////////////