Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
control_host_observability_bundle.hpp
Go to the documentation of this file.
1#pragma once
2
6
7#include <chrono>
8#include <functional>
9#include <memory>
10#include <string>
11#include <string_view>
12
13namespace pulp::inspect {
14
25
30 std::shared_ptr<ControlTelemetryTap> telemetry;
31 std::chrono::milliseconds heartbeat_ttl = std::chrono::seconds(30);
32 std::function<std::chrono::steady_clock::time_point()> clock;
33};
34
43 public:
44 static std::unique_ptr<ControlHostObservabilityBundle>
47
50
52 bool heartbeat(const ControlHostObservabilityBinding& authenticated_binding);
53 void end_authority(std::string_view opaque_authority_id) noexcept;
54 bool ready() const;
55 void disconnect() noexcept;
56
57 private:
58 struct State;
59 explicit ControlHostObservabilityBundle(std::shared_ptr<State> state);
60 std::shared_ptr<State> state_;
61};
62
63} // namespace pulp::inspect
ControlHostObservabilityBundle & operator=(const ControlHostObservabilityBundle &)=delete
ControlOperationExecutor executor() const
void end_authority(std::string_view opaque_authority_id) noexcept
bool heartbeat(const ControlHostObservabilityBinding &authenticated_binding)
ControlHostObservabilityBundle(const ControlHostObservabilityBundle &)=delete
static std::unique_ptr< ControlHostObservabilityBundle > create(ControlHostObservabilityBundleConfig config)
Definition agent_context.hpp:7
std::function< ControlExecutionOutcome( const ControlAdmissionPlan &, const ControlRequestEnvelope &, const ControlExecutionContext &)> ControlOperationExecutor
Trusted in-process adapter contract.
Definition control_execution.hpp:56
@ State
Definition capabilities.hpp:44
SequencerStateChannel is the audio-safe transport for a plugin's structured NON-parameter state: the ...
Definition audio_device_manager.hpp:48
STL namespace.
Definition control_host_observability_bundle.hpp:15
std::string publication_id
Definition control_host_observability_bundle.hpp:19
ControlRegistrationId registration_id
Definition control_host_observability_bundle.hpp:16
std::string session_id
Definition control_host_observability_bundle.hpp:17
friend bool operator==(const ControlHostObservabilityBinding &, const ControlHostObservabilityBinding &)=default
std::string instance_id
Definition control_host_observability_bundle.hpp:18
std::string authentication_token
Definition control_host_observability_bundle.hpp:20
Definition control_host_observability_bundle.hpp:26
ControlOperationExecutor trace_executor
Definition control_host_observability_bundle.hpp:28
ControlHostObservabilityBinding binding
Definition control_host_observability_bundle.hpp:27
std::chrono::milliseconds heartbeat_ttl
Definition control_host_observability_bundle.hpp:31
std::shared_ptr< ControlTelemetryTap > telemetry
Optional unless the host manifest declares telemetry/subscribe.
Definition control_host_observability_bundle.hpp:30
std::function< std::chrono::steady_clock::time_point()> clock
Definition control_host_observability_bundle.hpp:32
Definition control_identity.hpp:36