9#include <userver/engine/deadline.hpp>
10#include <userver/utils/fast_pimpl.hpp>
12USERVER_NAMESPACE_BEGIN
14namespace engine::
impl {
46 explicit FdPoller(
const ev::ThreadControl& control);
48 FdPoller(
const FdPoller&) =
delete;
49 FdPoller(FdPoller&&) =
delete;
50 FdPoller& operator=(
const FdPoller&) =
delete;
51 FdPoller& operator=(FdPoller&&) =
delete;
76 [[nodiscard]] std::optional<
Kind>
Wait(Deadline);
87 engine::
impl::ContextAccessor* TryGetContextAccessor()
noexcept;
91 friend class impl::Direction;
93 enum class State :
int {
100 void SwitchStateToInUse();
101 void SwitchStateToReadyToUse();
104 utils::FastPimpl<Impl, 128, 16> pimpl_;