Scheduler: Implement new file descriptor event API
[senf.git] / Utils / Daemon / Daemon.cci
similarity index 68%
rename from Scheduler/FileDispatcher.cci
rename to Utils/Daemon/Daemon.cci
index a18ea27..36e0f2f 100644 (file)
 // 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
 /** \file
-    \brief FileDispatcher inline non-template implementation */
+    \brief Daemon inline non-template implementation */
 
-//#include "FileDispatcher.ih"
+#include "Daemon.ih"
 
 // Custom includes
+#include <boost/bind.hpp>
 
 #define prefix_ inline
 ///////////////////////////////cci.p///////////////////////////////////////
 
-prefix_ int senf::scheduler::FileDispatcher::FileEvent::activeEvents()
-    const
-{
-    return 
-        (ReadTask::cb ? EV_READ : 0) | 
-        (WriteTask::cb ? EV_WRITE : 0);
-}
-
-prefix_ void senf::scheduler::FileDispatcher::timeout(int t)
-{
-    managerTimeout_ = t;
-    if (files_.empty())
-        manager_.timeout(managerTimeout_);
-}
-
-prefix_ int senf::scheduler::FileDispatcher::timeout()
-    const
-{
-    return managerTimeout_;
-}
-
-prefix_ bool senf::scheduler::FileDispatcher::empty()
-    const
-{
-    return files_.empty();
-}
+prefix_ senf::detail::DaemonWatcher::Forwarder::Target::Target(Forwarder & fwd, int fd_)
+    : fd (fd_), offset (0),
+      writeevent ("DaemonWatcher::Forwarder::Target",
+                  boost::bind(&Forwarder::writeData, &fwd, _1, this),
+                  fd, scheduler::FdEvent::EV_WRITE, false)
+{}
 
 ///////////////////////////////cci.e///////////////////////////////////////
 #undef prefix_