event/Loop: forward-declare class TimerEvent

This commit is contained in:
Max Kellermann 2020-10-08 17:23:03 +02:00
parent cd9ff9d9b0
commit 947856ca8e
2 changed files with 11 additions and 4 deletions

View File

@ -18,6 +18,7 @@
*/
#include "Loop.hxx"
#include "TimerEvent.hxx"
#include "SocketMonitor.hxx"
#include "IdleMonitor.hxx"
#include "DeferEvent.hxx"
@ -29,6 +30,13 @@
#include <stdio.h>
#endif
constexpr bool
EventLoop::TimerCompare::operator()(const TimerEvent &a,
const TimerEvent &b) const noexcept
{
return a.due < b.due;
}
EventLoop::EventLoop(ThreadId _thread)
:SocketMonitor(*this),
/* if this instance is hosted by an EventThread (no ThreadId

View File

@ -27,7 +27,6 @@
#include "thread/Mutex.hxx"
#include "WakeFD.hxx"
#include "SocketMonitor.hxx"
#include "TimerEvent.hxx"
#include "IdleMonitor.hxx"
#include "DeferEvent.hxx"
@ -44,6 +43,8 @@
namespace Uring { class Queue; class Manager; }
#endif
class TimerEvent;
/**
* An event loop that polls for events on file/socket descriptors.
*
@ -59,9 +60,7 @@ class EventLoop final : SocketMonitor
struct TimerCompare {
constexpr bool operator()(const TimerEvent &a,
const TimerEvent &b) const {
return a.due < b.due;
}
const TimerEvent &b) const noexcept;
};
using TimerSet =