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

Broker-owned, process-local admission registry for authenticated carriers. More...

#include <control_connection_admission.hpp>

Public Types

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

Public Member Functions

 ControlConnectionAdmissionStore (ControlConnectionAdmissionStoreConfig config={}, Clock clock=[] { return std::chrono::steady_clock::now();})
 ~ControlConnectionAdmissionStore ()
 ControlConnectionAdmissionStore (const ControlConnectionAdmissionStore &)=delete
ControlConnectionAdmissionStore & operator= (const ControlConnectionAdmissionStore &)=delete
ControlConnectionAdmissionResult issue (ControlPeerExpectation expected_peer, ControlConnectionPrincipal principal)
std::optional< ControlConnectionAdmission > consume (std::string_view admission_id)
void sweep_expired ()
std::size_t size () const

Detailed Description

Broker-owned, process-local admission registry for authenticated carriers.

Issuers supply only an expectation derived from trusted launcher or policy state. consume() removes a matching entry atomically before returning it, so rejected peer verification cannot make an admission reusable. The clock may execute while the registry mutex is held and must be bounded, non-blocking, and non-reentrant.

Member Typedef Documentation

◆ Clock

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

Constructor & Destructor Documentation

◆ ControlConnectionAdmissionStore() [1/2]

pulp::inspect::ControlConnectionAdmissionStore::ControlConnectionAdmissionStore ( ControlConnectionAdmissionStoreConfig config = {},
Clock clock = [] { return std::chrono::steady_clock::now();} )
explicit

◆ ~ControlConnectionAdmissionStore()

pulp::inspect::ControlConnectionAdmissionStore::~ControlConnectionAdmissionStore ( )

◆ ControlConnectionAdmissionStore() [2/2]

pulp::inspect::ControlConnectionAdmissionStore::ControlConnectionAdmissionStore ( const ControlConnectionAdmissionStore & )
delete

Member Function Documentation

◆ consume()

std::optional< ControlConnectionAdmission > pulp::inspect::ControlConnectionAdmissionStore::consume ( std::string_view admission_id)

◆ issue()

ControlConnectionAdmissionResult pulp::inspect::ControlConnectionAdmissionStore::issue ( ControlPeerExpectation expected_peer,
ControlConnectionPrincipal principal )

◆ operator=()

ControlConnectionAdmissionStore & pulp::inspect::ControlConnectionAdmissionStore::operator= ( const ControlConnectionAdmissionStore & )
delete

◆ size()

std::size_t pulp::inspect::ControlConnectionAdmissionStore::size ( ) const

◆ sweep_expired()

void pulp::inspect::ControlConnectionAdmissionStore::sweep_expired ( )

The documentation for this class was generated from the following file: