Plugins

Covers Engine Plugin SDK 2.0.0 · Interface Plugin SDK 0.2.0

PeerDefinition

One operator-selectable peer with a fixed protocol and transport.

Declaration

struct PeerDefinition {
        std::string id;
        std::string name;
        uint64_t version = 1;
        nlohmann::json default_config = nlohmann::json::object();
        std::string protocol_id = "tempest.engine";
        uint64_t protocol_version = DARTWIC::Plugins::TEMPEST_COMPATIBILITY_VERSION;
        bool engine_protocol = true;
        std::function<TransportPtr(const nlohmann::json&, TEMPEST::Peer&, DARTWIC::EngineProtocol&)> create;
        std::function<void(TEMPEST::Peer&)> configure;
        // Host-normalized transport-only registration. Use registerPeerTransport.
        std::function<TransportPtr(const nlohmann::json&)> create_transport;
    };