![]() |
dfx 0.1.0
Linux-based dynamic dataflow executor
|
C++ Adaptor for a Destination Transport implemented in a C plugin. More...
#include <dfx-plugins/bridges/transport/CDestinationTransport.hpp>
Public Member Functions | |
| CDestinationTransport (Core::Endpoint endpoint, nlohmann::json config, Plugin const &plugin, dfx_transport_interface_t interface) | |
| Constructs the adaptor and initializes the plugin-side destination. | |
| DFX_DISABLE_COPY_AND_MOVE (CDestinationTransport) | |
| ~CDestinationTransport () | |
| Destructor. Calls dfx_transport_interface_t::destroy on the plugin API. | |
| void | start (FdWatch::Poller &poller) override |
| Activates the transport and provides the poller vtable to the plugin. | |
| void | stop () noexcept override |
| Deactivates the transport. | |
| bool | deliver (Core::MessagePtr message) override |
| Packs and delivers a message to the plugin. | |
| int64_t | pendingMessageCount () const noexcept override |
| Returns the number of messages queued inside the plugin implementation. | |
| Public Member Functions inherited from dfx::Core::DestinationTransport | |
| DestinationTransport (Endpoint endpoint, nlohmann::json config) | |
| Constructs a DestinationTransport with the Role::Destination role. | |
| Public Member Functions inherited from dfx::Core::Transport | |
| Transport (Role role, Endpoint endpoint, nlohmann::json config) | |
| Constructs a transport instance. | |
| DFX_DISABLE_COPY_AND_MOVE (Transport) | |
| Transport is not copiable nor movable. | |
| virtual | ~Transport ()=default |
| Virtual destructor ensuring proper cleanup of derived transports. | |
| template<DerivedFromTransport T> | |
| bool | is () const noexcept |
| Check whether this transport is of a given derived type. | |
| template<DerivedFromTransport T> | |
| T & | as () noexcept |
| Cast this transport to a derived type (unchecked). | |
| template<DerivedFromTransport T> | |
| T const & | as () const noexcept |
| Cast this transport to a derived type (unchecked). | |
| Role | role () const noexcept |
| Returns the Role (Source or Destination) of this transport. | |
| bool | isSource () const noexcept |
| Returns true if this transport is a source. | |
| bool | isDestination () const noexcept |
| Returns true if this transport is a destination. | |
| Endpoint const & | endpoint () const noexcept |
| Gets the endpoint descriptor associated with this transport. | |
| Channel * | channel () const noexcept |
| Gets the channel which this transport is attached to if any. | |
| Port * | port () const noexcept |
| Gets the port associated with this transport. | |
| NodePtr | node () const noexcept |
| Gets the node associated with this transport. | |
| nlohmann::json const & | config () const noexcept |
| Gets the JSON configuration used to initialize this transport. | |
Additional Inherited Members | |
| Public Types inherited from dfx::Core::Transport | |
| enum class | Role { Source , Destination } |
| Defines the operational role of a transport relative to a channel. More... | |
| Protected Attributes inherited from dfx::Core::Transport | |
| Role const | _role |
| Endpoint | _endpoint |
| nlohmann::json | _config |
C++ Adaptor for a Destination Transport implemented in a C plugin.
Handles the serialization of C++ Message objects into raw byte buffers before passing them to the plugin's transmit_message function.
| dfx::Plugins::CDestinationTransport::CDestinationTransport | ( | Core::Endpoint | endpoint, |
| nlohmann::json | config, | ||
| Plugin const & | plugin, | ||
| dfx_transport_interface_t | interface ) |
Constructs the adaptor and initializes the plugin-side destination.
Calls dfx_transport_interface_t::build_destination on the plugin's API.
| dfx::Plugins::CDestinationTransport::~CDestinationTransport | ( | ) |
Destructor. Calls dfx_transport_interface_t::destroy on the plugin API.
|
overridevirtual |
Packs and delivers a message to the plugin.
Implements dfx::Core::DestinationTransport.
|
overridevirtualnoexcept |
Returns the number of messages queued inside the plugin implementation.
Reimplemented from dfx::Core::DestinationTransport.
|
overridevirtual |
Activates the transport and provides the poller vtable to the plugin.
Implements dfx::Core::Transport.
|
overridevirtualnoexcept |
Deactivates the transport.
Implements dfx::Core::Transport.