59 std::string registration_id);
71 std::unique_ptr<TraceOwnerLease> bind_owner(OwnerKind kind);
72 void release_owner(
const std::shared_ptr<void>& owner_token)
noexcept;
75 const std::shared_ptr<void>& owner_token);
77 std::shared_ptr<void> owner_token_;
78 OwnerKind owner_kind_ = OwnerKind::None;
79 std::optional<pulp::runtime::TraceOwnership> ownership_;
83 std::string last_trace_path_;
87 const std::shared_ptr<void>* owner_token);
90 const std::shared_ptr<void>* owner_token);
TraceInspector(const TraceInspector &)=delete
static bool owns_method(const std::string &method)
Whether this inspector recognizes the method (used by DomainHandler dispatch, mirroring MotionScrubbe...
std::unique_ptr< TraceOwnerLease > bind_control_registration(std::string registration_id)
Bind process-global trace ownership to one authenticated control registration.
InspectorMessage handle(const InspectorMessage &req)
Handle a Trace.* request. Returns a response message.
TraceInspector(TraceInspector &&)=delete
TraceInspector & operator=(TraceInspector &&)=delete
TraceInspector & operator=(const TraceInspector &)=delete
Definition trace_inspector.hpp:25
virtual InspectorMessage handle(const InspectorMessage &request)=0
virtual ~TraceOwnerLease()=default
Definition agent_context.hpp:7
Definition control_identity.hpp:190
A single inspector protocol message (request, response, or event).
Definition protocol.hpp:18
Definition trace_inspector.hpp:31
friend bool operator==(const TracePublicationOwner &, const TracePublicationOwner &)=default
std::string session_id
Definition trace_inspector.hpp:32
std::string instance_id
Definition trace_inspector.hpp:33
std::string publication_id
Definition trace_inspector.hpp:34
bool complete() const
Definition trace_inspector.hpp:36