Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::inspect::InspectorControllerLease Class Reference

One-controller lease for mutating inspector operations. More...

#include <session.hpp>

Classes

struct  EndedScope

Public Types

using Clock = std::function<std::chrono::steady_clock::time_point()>

Public Member Functions

 InspectorControllerLease (std::chrono::milliseconds ttl=std::chrono::seconds(15), Clock clock=[] { return std::chrono::steady_clock::now();})
ControllerLeaseResult acquire (std::string_view owner)
ControllerLeaseResult renew (std::string_view owner)
bool release (std::string_view owner)
void disconnect (std::string_view owner)
bool owns (std::string_view owner)
std::optional< std::string > owner ()
std::chrono::milliseconds remaining ()

Friends

class InspectorSession

Detailed Description

One-controller lease for mutating inspector operations.

The injected clock keeps expiry deterministic in tests and avoids wall-clock jumps.

Member Typedef Documentation

◆ Clock

using pulp::inspect::InspectorControllerLease::Clock = std::function<std::chrono::steady_clock::time_point()>

Constructor & Destructor Documentation

◆ InspectorControllerLease()

pulp::inspect::InspectorControllerLease::InspectorControllerLease ( std::chrono::milliseconds ttl = std::chrono::seconds(15),
Clock clock = [] { return std::chrono::steady_clock::now();} )
explicit

Member Function Documentation

◆ acquire()

ControllerLeaseResult pulp::inspect::InspectorControllerLease::acquire ( std::string_view owner)

◆ disconnect()

void pulp::inspect::InspectorControllerLease::disconnect ( std::string_view owner)

◆ owner()

std::optional< std::string > pulp::inspect::InspectorControllerLease::owner ( )

◆ owns()

bool pulp::inspect::InspectorControllerLease::owns ( std::string_view owner)

◆ release()

bool pulp::inspect::InspectorControllerLease::release ( std::string_view owner)

◆ remaining()

std::chrono::milliseconds pulp::inspect::InspectorControllerLease::remaining ( )

◆ renew()

ControllerLeaseResult pulp::inspect::InspectorControllerLease::renew ( std::string_view owner)

◆ InspectorSession

friend class InspectorSession
friend

The documentation for this class was generated from the following file:
  • /home/runner/work/pulp/pulp/inspect/include/pulp/inspect/session.hpp