38 std::chrono::milliseconds timeout) = 0;
40 std::uint64_t offset, std::size_t maximum_bytes,
41 std::chrono::milliseconds timeout) = 0;
73 std::chrono::milliseconds timeout = std::chrono::seconds(3));
75 std::chrono::milliseconds timeout = std::chrono::seconds(3));
77 std::chrono::milliseconds timeout = std::chrono::seconds(3));
79 read_artifact(std::string_view artifact_id, std::uint64_t offset, std::size_t maximum_bytes,
80 std::chrono::milliseconds timeout = std::chrono::seconds(3));
83 struct DispatchResult {
84 std::optional<ControlEnvelope> response;
85 std::string error_code;
86 std::string explanation;
89 DispatchResult dispatch(
const ControlEnvelope& envelope, std::chrono::milliseconds timeout);
One authenticated, connection-bound capability-control session.
Definition control_client.hpp:33
virtual ControlTransportDispatchResult dispatch(std::string_view encoded_envelope, std::chrono::milliseconds timeout)=0
virtual ControlArtifactReadResult read_artifact(std::string_view artifact_id, std::uint64_t offset, std::size_t maximum_bytes, std::chrono::milliseconds timeout)=0
virtual ~ControlClientTransport()=default
ControlClientReceiptResult request(const ControlRequestEnvelope &request, std::chrono::milliseconds timeout=std::chrono::seconds(3))
ControlClientReceiptResult cancel(const ControlCancelEnvelope &cancellation, std::chrono::milliseconds timeout=std::chrono::seconds(3))
ControlClientNegotiationResult negotiate(const ControlNegotiationOffer &offer, std::chrono::milliseconds timeout=std::chrono::seconds(3))
ControlClient(ControlClientTransport &transport)
The connection-bound transport must outlive this client.
ControlArtifactReadResult read_artifact(std::string_view artifact_id, std::uint64_t offset, std::size_t maximum_bytes, std::chrono::milliseconds timeout=std::chrono::seconds(3))
ControlClient(const ControlClient &)=delete
ControlClient & operator=(const ControlClient &)=delete
Definition agent_context.hpp:7
ControlDispatchResult< ControlNegotiationResult > ControlClientNegotiationResult
Definition control_client.hpp:54
ControlDispatchResult< ControlReceiptEnvelope > ControlClientReceiptResult
Definition control_client.hpp:55
Definition control_artifacts.hpp:146
Definition control_protocol.hpp:100
Definition control_client.hpp:44
bool succeeded() const
Definition control_client.hpp:49
std::string error_code
Definition control_client.hpp:46
std::optional< ControlNegotiationResult > response
Definition control_client.hpp:45
std::string explanation
Definition control_client.hpp:47
Definition control_protocol.hpp:481
Definition control_protocol.hpp:53
Definition control_protocol.hpp:84
Definition control_client.hpp:15
std::string explanation
Definition control_client.hpp:18
bool succeeded() const
Definition control_client.hpp:20
std::optional< std::string > encoded_response
Definition control_client.hpp:16
std::string error_code
Definition control_client.hpp:17