20using NodePtr = std::shared_ptr<Node>;
Definition Endpoint.hpp:24
Abstract base class for messages exchanged between nodes.
Definition Message.hpp:86
Abstract base class for all nodes in the dfx runtime.
Definition Node.hpp:94
Hook interface invoked around message enqueue in an dfx::Core::Channel.
Definition Delivery.hpp:39
HookResult
Result code controlling pushMessage() behavior.
Definition Delivery.hpp:63
@ Skip
Short-circuit without error (pre: drop message, post: just return success).
Definition Delivery.hpp:65
@ Fail
Short-circuit with error (pre: drop message, post: report failure after enqueue).
Definition Delivery.hpp:66
@ Proceed
Continue normal execution.
Definition Delivery.hpp:64
virtual HookResult postDelivery(Core::Endpoint const &src, Core::Endpoint const &dst)=0
Called after a message has been enqueued into the channel.
virtual HookResult preDelivery(Core::Endpoint const &src, Core::Endpoint const &dst, Core::MessagePtr &message)=0
Called before a message is enqueued into the channel.
Definition Channel.hpp:25
std::unique_ptr< Message > MessagePtr
Unique ownership handle for messages.
Definition Message.hpp:27
std::shared_ptr< Node > NodePtr
Shared ownership pointer type for Nodes..
Definition Endpoint.hpp:21
Definition Delivery.hpp:25