Plugins

Covers Engine Plugin SDK 2.0.0 · Interface Plugin SDK 0.2.0

ShareTransport

Transport interface implemented by engine plugins and custom external applications.

API

Transport interface implemented by engine plugins and custom external applications. Supplies frame delivery, request correlation, timeouts, and connection lifecycle.

Namespace: DARTWIC::Share.

#include <dartwic/share/DARTWICShareTransport.h>

Declaration

class ShareTransport {
public:
    virtual ~ShareTransport() = default;
    // Retain callbacks, start transport workers, and report connection state through on_state.
    virtual void start(TransportCallbacks callbacks) = 0;
    // Correlate one request with its response within timeout. May run concurrently with publish/control; a delayed response must not block live updates.
    virtual Response request(const Request& request, std::chrono::milliseconds timeout) = 0;
    // Deliver telemetry without waiting for a peer response.
    virtual void publish(const Telemetry& telemetry) = 0;
    // Deliver protocol control frames independently of request completion.
    virtual void control(const Control& control) = 0;
    // Stop workers, unblock pending requests, and release callbacks before returning.
    virtual void stop() = 0;
};