21 #ifndef COMMON_IO_WINDOWSPOLLER_H_
22 #define COMMON_IO_WINDOWSPOLLER_H_
24 #include <ola/Clock.h>
29 #define WIN32_LEAN_AND_MEAN
30 #include <ola/win/CleanWindows.h>
36 #include "common/io/PollerInterface.h"
37 #include "common/io/TimeoutManager.h"
59 bool delete_on_close);
66 const TimeStamp *WakeUpTime()
const {
return &m_wake_up_time; }
72 typedef std::map<void*, class WindowsPollerDescriptor*> DescriptorMap;
73 typedef std::vector<class WindowsPollerDescriptor*> OrphanedDescriptors;
81 DescriptorMap m_descriptor_map;
82 OrphanedDescriptors m_orphaned_descriptors;
84 std::pair<WindowsPollerDescriptor*, bool>
85 LookupOrCreateDescriptor(
void* handle);
86 bool RemoveDescriptor(
const DescriptorHandle &handle,
88 bool warn_on_missing);
90 void HandleWakeup(
class PollData* data);
91 void FinalCheckIOs(std::vector<class PollData*> data);
97 #endif // COMMON_IO_WINDOWSPOLLER_H_