//#include "IOEvent.ih"
// Custom includes
+#include <boost/bind.hpp>
#define prefix_ inline
///////////////////////////////cti.p///////////////////////////////////////
template <class Handle>
prefix_ senf::ppi::IOEvent::IOEvent(Handle handle, unsigned events)
- : fd_(retrieve_filehandle(handle)), events_(events)
+ : fd_ (senf::scheduler::get_descriptor(handle)),
+ event_ ("senf::ppi::IOEvent", boost::bind(&IOEvent::cb,this,_1), fd_, events, false)
{}
+template <class Handle>
+prefix_ void senf::ppi::IOEvent::set(Handle handle, unsigned events)
+{
+ if (handle) {
+ fd_ = senf::scheduler::get_descriptor(handle);
+ event_.events(events).handle(fd_);
+ }
+ else {
+ event_.disable();
+ fd_ = -1;
+ }
+}
+
///////////////////////////////cti.e///////////////////////////////////////
#undef prefix_