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); }
84 { _reactor.updateNodeFdEvents(fd, events); }
92 { _reactor.deferNodeCall(std::move(cb), _node); }
Base class for all runtime-executed nodes in a dfx dataflow graph.
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:60
void deferCall(FdWatch::Callback cb) override
Schedule a callback to run later in the reactor context.
Definition PollerProxy.hpp:91
PollerProxy(Core::NodeWPtr node, NodeReactor &reactor)
Construct a poller proxy bound to a given node.
Definition PollerProxy.hpp:53
void deregisterFd(Utils::BorrowedFd fd) noexcept override
Deregister a previously registered file descriptor.
Definition PollerProxy.hpp:74
void updateFdEvents(Utils::BorrowedFd fd, FdWatch::EventInterests events) override
Update the list of event that this fd is attached to.
Definition PollerProxy.hpp:83
void registerFd(Utils::BorrowedFd fd, FdWatch::EventInterests events, FdWatch::FdCallback cb) override
Register a file descriptor for event notifications.
Definition PollerProxy.hpp:66
Non-owning wrapper around a file descriptor.
Definition BorrowedFd.hpp:33
std::weak_ptr< Node > NodeWPtr
Weak pointer type for Nodes.
Definition Node.hpp:66
std::move_only_function< void()> Callback
Generic move-only callback with no arguments.
Definition Callback.hpp:31
std::function< void(Utils::BorrowedFd, EventTriggers)> FdCallback
Invoked when events occur on a watched file descriptor.
Definition Callback.hpp:28