17#include <dfx-fdwatch/BorrowedFd.hpp>
19#include <dfx-fdwatch/OwnedFd.hpp>
72 bool isRunning() const noexcept {
return _running.load(std::memory_order::relaxed); }
96 void _listen(std::stop_token stopToken)
noexcept;
97 void _cleanup() noexcept;
105 std::atomic_bool _running{
false};
106 std::jthread _listener;
Event interest and trigger flags for file-descriptor watching (Linux/epoll).
Non-owning wrapper around a file descriptor.
Definition BorrowedFd.hpp:37
void deregisterFd(FdWatch::BorrowedFd fd) noexcept
Deregister a previously registered FD.
void registerFd(FdWatch::BorrowedFd fd, FdWatch::EventInterests events)
Register an FD with a set of interests.
~FdListener()
Stop the listener thread and release underlying resources.
bool isRunning() const noexcept
Whether the listener thread is currently running.
Definition FdListener.hpp:72
FdListener(Callback cb)
Construct and start the listener thread.
std::move_only_function< void(FdWatch::BorrowedFd, FdWatch::EventTriggers)> Callback
Callback invoked for every observed FD event.
Definition FdListener.hpp:56
Definition SocketClient.hpp:23