Protocol-agnostic communication adapter interface (contract v4). More...
#include <algorithm>#include <atomic>#include <chrono>#include <cstdint>#include <functional>#include <memory>#include <optional>#include <string>#include <utility>#include <variant>#include <vector>Go to the source code of this file.
Namespaces | |
| namespace | ifw |
| namespace | ifw::fnd |
| This source file contains definitions of the types and constants to handle data types. | |
| namespace | ifw::fnd::defs |
Typedefs | |
| using | ifw::fnd::defs::Address = std::string |
| using | ifw::fnd::defs::RequestId = std::string |
| using | ifw::fnd::defs::Value |
| using | ifw::fnd::defs::ConnectionStateHandler |
| using | ifw::fnd::defs::SubscriptionHandler = std::function<void(const Notification&)> |
Variables | |
| constexpr std::uint32_t | ifw::fnd::defs::kCommAdapterContractVersion = 1 |
Protocol-agnostic communication adapter interface (contract v4).
Scope: the value-oriented CONTROL plane (read / write / call / browse / subscribe) over arbitrary protocols (OPC UA, Modbus, REST, MQTT, GenICam (control/status), ...). Bulk media streaming (e.g. GenICam image acquisition) is intentionally OUT OF SCOPE and belongs to a peer interface composed alongside this one, not derived from it.
Design rules:
properties or optional fields.THREAD-SAFETY CONTRACT (binding):