17#include <dfx-fdwatch/Timer.hpp>
28 std::chrono::steady_clock::time_point deliveryTime;
32 Delay(
Id id, std::string
name);
39 void _onTimerTimeout();
42 std::chrono::milliseconds _delay{0};
43 std::queue<MessageData> _pendingMessages;
Base class for all runtime-executed nodes in a dfx dataflow graph.
#define DFX_NODE(typeName)
Convenience macro to declare the node type string and metadata/schema hooks.
Definition Node.hpp:501
Abstract base class for all nodes in the dfx runtime.
Definition Node.hpp:91
uint32_t Id
Node identifier type (unique and stable within a graph instance).
Definition Node.hpp:113
nlohmann::json const & config() const noexcept
Get the node configuration.
Definition Node.hpp:138
std::string const & name() const noexcept
Get the node name.
Definition Node.hpp:134
FD-integrated timer utility (timerfd-backed).
Definition Timer.hpp:52
void initializeImpl(nlohmann::json config) override
Called by initialize; derived nodes must parse config here.
void handleMessage(Core::InputPort const &port, Core::MessagePtr message) override
Handle an incoming message on an input port.
std::unique_ptr< Message > MessagePtr
Unique ownership handle for messages.
Definition Message.hpp:27
Definition MimeTypeRouter.hpp:18