6#include <unordered_map>
8#include <userver/concurrent/mpsc_queue.hpp>
9#include <userver/engine/deadline.hpp>
10#include <userver/engine/io/common.hpp>
11#include <userver/utils/fast_pimpl.hpp>
12#include <userver/utils/flags.hpp>
14USERVER_NAMESPACE_BEGIN
53 Poller(
const Poller&) =
delete;
54 Poller(Poller&&) =
delete;
83 const std::shared_ptr<USERVER_NAMESPACE::
concurrent::MpscQueue<
Event>>&);
87 void RemoveImpl(IoWatcher& watcher);
89 template <
typename EventSource>
92 USERVER_NAMESPACE::concurrent::MpscQueue<Event>::Consumer event_consumer_;
93 USERVER_NAMESPACE::concurrent::MpscQueue<Event>::Producer event_producer_;
94 utils::FastPimpl<std::unordered_map<
int, IoWatcher>, 56,
alignof(
double),