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 |
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.
| using pulp::inspect::ControlConnectionAdmissionStore::Clock = std::function<std::chrono::steady_clock::time_point()> |
|
explicit |
| pulp::inspect::ControlConnectionAdmissionStore::~ControlConnectionAdmissionStore | ( | ) |
|
delete |
| std::optional< ControlConnectionAdmission > pulp::inspect::ControlConnectionAdmissionStore::consume | ( | std::string_view | admission_id | ) |
| ControlConnectionAdmissionResult pulp::inspect::ControlConnectionAdmissionStore::issue | ( | ControlPeerExpectation | expected_peer, |
| ControlConnectionPrincipal | principal ) |
|
delete |
| std::size_t pulp::inspect::ControlConnectionAdmissionStore::size | ( | ) | const |
| void pulp::inspect::ControlConnectionAdmissionStore::sweep_expired | ( | ) |