Scheduler: Implement new timer event API
[senf.git] / Scheduler / FileDispatcher.cc
index 1989c90..6ada898 100644 (file)
@@ -47,21 +47,24 @@ prefix_ senf::scheduler::FileDispatcher::~FileDispatcher()
     }
 }
 
-prefix_ void senf::scheduler::FileDispatcher::add(int fd, Callback const & cb, int events)
+prefix_ void senf::scheduler::FileDispatcher::add(std::string const & name, int fd,
+                                                  Callback const & cb, int events)
 {
     if (events == 0)
         return;
     
     FileMap::iterator i (files_.find(fd));
     if (i == files_.end()) {
-        i = files_.insert(std::make_pair(fd, FileEvent())).first;
+        i = files_.insert(std::make_pair(fd, FileEvent(name))).first;
         runner_.enqueue(static_cast<FileEvent::ReadTask*>(&i->second));
         runner_.enqueue(static_cast<FileEvent::WriteTask*>(&i->second));
     }
     FileEvent & event (i->second);
 
-    if (events & EV_READ) event.FileEvent::ReadTask::cb = cb;
-    if (events & EV_WRITE) event.FileEvent::WriteTask::cb = cb;
+    if (events & EV_READ)
+        event.FileEvent::ReadTask::cb = cb;
+    if (events & EV_WRITE)
+        event.FileEvent::WriteTask::cb = cb;
     
     manager_.timeout(0);
 }