dfx 0.1.0
Linux-based dynamic dataflow executor
Loading...
Searching...
No Matches
dfx::Core Namespace Reference

Classes

struct  blank_construct_t
 Struct used when you explicitely want an object to be as bare as possible. More...
class  Channel
 Orchestrator connecting a source transport to a destination transport. More...
class  ControlMessage
 Control-plane message (command + params). More...
class  CustomExecutor
 A priority-aware implementation of the NodeTaskExecutor interface. More...
class  DataMessage
 Data-plane message containing an owned byte buffer. More...
class  DestinationTransport
 Abstract base class for all destination transports that deliver messages from a Channel. More...
class  Endpoint
class  InputPort
 Incoming message endpoint attached to a node. More...
class  LocalDestination
 An in-process destination transport using a thread-safe queue. More...
class  LocalSource
 A synchronous, in-process source transport. More...
class  Message
 Abstract base class for messages exchanged between nodes. More...
class  MimeType
 MIME type value object. More...
class  MqDestination
 A remote destination transport using POSIX Message Queues. More...
class  MqSource
 A remote source transport using POSIX Message Queues. More...
class  Node
 Abstract base class for all nodes in the dfx runtime. More...
class  OutputPort
 Outgoing message endpoint attached to a node. More...
class  Port
 Base class for both input and output ports. More...
class  SourceTransport
 Abstract base class for all source transports that inject messages into a Channel. More...
class  Transport
 Abstract base class for all message carriers within the dfx framework. More...
class  UdpDestination
 A network destination transport using UDP with automatic fragmentation. More...
class  UdpSource
 An asynchronous network source transport that reconstructs messages from UDP frames. More...

Concepts

concept  DerivedFromMessage
 Concept used by dfx::Core::Message::is() and dfx::Core::Message::as() to constrain types.
concept  DerivedFromNode
 Concept used by dfx::Core::Node::is() and dfx::Core::Node::as() to constrain types.
concept  DerivedFromPort
 Concept used by dfx::Core::Port::as() to constrain types.
concept  DerivedFromTransport
 Concept used by dfx::Core::Transport::as() and dfx::Core::Transport::is() to constrain types.

Typedefs

using ChannelPtr = std::shared_ptr<Channel>
 Shared ownership handle for channels.
using NodePtr = std::shared_ptr<Node>
 Shared ownership pointer type for Nodes..
using MessagePtr = std::unique_ptr<Message>
 Unique ownership handle for messages.
using MimeTypes = std::vector<MimeType>
 Convenience alias for a list of MIME types.
using NodeWPtr = std::weak_ptr<Node>
 Weak pointer type for Nodes.
using DestinationTransportPtr = std::unique_ptr<DestinationTransport>
using SourceTransportPtr = std::unique_ptr<SourceTransport>
 Unique ownership handle for SourceTransport.
using TransportPtr = std::unique_ptr<Transport>
 Unique ownership handle for transports.

Enumerations

enum class  Kind : uint8_t { Data , Control }
 Port kind (connection domain). More...

Variables

constexpr blank_construct_t blank_construct = blank_construct_t()
 Tag used in constructor to indicate that the object should be as brut as possible.

Typedef Documentation

◆ ChannelPtr

typedef std::shared_ptr< Channel > dfx::Core::ChannelPtr = std::shared_ptr<Channel>

Shared ownership handle for channels.

◆ MessagePtr

typedef std::unique_ptr< Message > dfx::Core::MessagePtr = std::unique_ptr<Message>

Unique ownership handle for messages.

◆ MimeTypes

using dfx::Core::MimeTypes = std::vector<MimeType>

Convenience alias for a list of MIME types.

◆ NodePtr

typedef std::shared_ptr< Node > dfx::Core::NodePtr = std::shared_ptr<Node>

Shared ownership pointer type for Nodes..

◆ NodeWPtr

typedef std::weak_ptr< Node > dfx::Core::NodeWPtr = std::weak_ptr<Node>

Weak pointer type for Nodes.

◆ SourceTransportPtr

Unique ownership handle for SourceTransport.

◆ TransportPtr

using dfx::Core::TransportPtr = std::unique_ptr<Transport>

Unique ownership handle for transports.

Enumeration Type Documentation

◆ Kind

enum class dfx::Core::Kind : uint8_t
strong

Port kind (connection domain).

A port kind is a hard compatibility constraint:

In other words, each kind defines a distinct connectivity “network”.

Note
Kind is orthogonal to mime types. Even if mime types are compatible, ports with different kinds must not be linked.
Enumerator
Data 

Data-plane ports.

Used for regular message payloads flowing through the user graph. Typical examples: JSON, binary blobs, text, audio frames, etc.

Control 

Control-plane ports.

Used for runtime control messages (commands, state changes, orchestration signals, etc.). These connections are separate from data connections to avoid cross-contamination.

Variable Documentation

◆ blank_construct

blank_construct_t dfx::Core::blank_construct = blank_construct_t()
inlineconstexpr

Tag used in constructor to indicate that the object should be as brut as possible.