12#include "NodeReactor.hpp"
14#include <dfx-fdwatch/Poller.hpp>
54 : _reactor { reactor }
67 { _reactor.registerNodeFd(fd, events, std::move(cb), _node); }
75 { _reactor.deregisterNodeFd(fd); }
83 { _reactor.deferNodeCall(std::move(cb), _node); }
Base class for all runtime-executed nodes in a dfx dataflow graph.
Non-owning wrapper around a file descriptor.
Definition BorrowedFd.hpp:37
Abstract interface for FD-based event polling.
Definition Poller.hpp:37
Node-aware reactor API for FD watching and deferred execution in the runtime.
Definition NodeReactor.hpp:59
void deferCall(FdWatch::Callback cb) override
Schedule a callback to run later in the reactor context.
Definition PollerProxy.hpp:82
void deregisterFd(FdWatch::BorrowedFd fd) noexcept override
Deregister a previously registered file descriptor.
Definition PollerProxy.hpp:74
PollerProxy(Core::NodeWPtr node, NodeReactor &reactor)
Construct a poller proxy bound to a given node.
Definition PollerProxy.hpp:53
void registerFd(FdWatch::BorrowedFd fd, FdWatch::EventInterests events, FdWatch::FdCallback cb) override
Register a file descriptor for event notifications.
Definition PollerProxy.hpp:66
std::weak_ptr< Node > NodeWPtr
Weak pointer type for Nodes.
Definition Node.hpp:63
std::function< void(BorrowedFd, EventTriggers)> FdCallback
Invoked when events occur on a watched file descriptor.
Definition Callback.hpp:28
std::move_only_function< void()> Callback
Generic move-only callback with no arguments.
Definition Callback.hpp:31