Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
control_host_preflight.hpp
Go to the documentation of this file.
1#pragma once
2
5
6#include <chrono>
7#include <cstdint>
8#include <functional>
9#include <optional>
10#include <string>
11
12namespace pulp::inspect {
13
31
36
42
43std::optional<VerifiedControlPeerIdentity>
44preflight_control_host(platform::ChildProcessInputChannel channel, std::int64_t expected_process_id,
45 ControlPeerRole role, const ControlPeerVerifier& verifier,
46 const ControlHostBootstrapProvider& provide_bootstrap,
47 std::chrono::milliseconds timeout = std::chrono::seconds(3),
48 ControlHostPreflightDiagnostics* diagnostics = nullptr);
49
52std::optional<VerifiedControlPeerIdentity>
53preflight_control_host(platform::ChildProcessInputChannel channel, std::int64_t expected_process_id,
54 ControlPeerRole role, const ControlPeerVerifier& verifier,
56 std::chrono::milliseconds timeout = std::chrono::seconds(3),
57 ControlHostPreflightDiagnostics* diagnostics = nullptr);
58
61std::optional<ControlHostBootstrapRecord> receive_control_host_preflight(
62 ControlHostBootstrapHandle handle, std::chrono::milliseconds timeout = std::chrono::seconds(3),
63 std::optional<std::chrono::system_clock::time_point> now = std::nullopt,
64 ControlHostPreflightDiagnostics* diagnostics = nullptr);
65
66} // namespace pulp::inspect
Definition control_host_bootstrap.hpp:70
Converts carrier-observed process evidence into an unforgeable-by-payload identity.
Definition control_identity.hpp:89
Copyable proof minted only by the broker's trusted OS peer verifier.
Definition control_identity.hpp:63
Move-only parent endpoint of the child's inherited standard-input channel.
Definition child_process.hpp:63
Definition agent_context.hpp:7
ControlHostPreflightStatus
Private transport preflight for an already-spawned host.
Definition control_host_preflight.hpp:16
@ SendFailed
Definition control_host_preflight.hpp:28
@ BootstrapInvalid
Definition control_host_preflight.hpp:29
@ AuthorityRejected
Definition control_host_preflight.hpp:27
@ PeerUnavailable
Definition control_host_preflight.hpp:25
@ DirectionMismatch
Definition control_host_preflight.hpp:23
@ NonceMismatch
Definition control_host_preflight.hpp:24
@ InvalidChannel
Definition control_host_preflight.hpp:19
@ MalformedMessage
Definition control_host_preflight.hpp:22
@ Unsupported
Definition control_host_preflight.hpp:18
@ Timeout
Definition control_host_preflight.hpp:21
@ ProcessMismatch
Definition control_host_preflight.hpp:26
std::optional< VerifiedControlPeerIdentity > preflight_control_host(platform::ChildProcessInputChannel channel, std::int64_t expected_process_id, ControlPeerRole role, const ControlPeerVerifier &verifier, const ControlHostBootstrapProvider &provide_bootstrap, std::chrono::milliseconds timeout=std::chrono::seconds(3), ControlHostPreflightDiagnostics *diagnostics=nullptr)
@ Accepted
Definition audit.hpp:65
std::function< ControlHostBootstrapBytes(const VerifiedControlPeerIdentity &)> ControlHostBootstrapProvider
Mints one bootstrap only after the inherited channel has proven the exact live child.
Definition control_host_preflight.hpp:40
std::optional< ControlHostBootstrapRecord > receive_control_host_preflight(ControlHostBootstrapHandle handle, std::chrono::milliseconds timeout=std::chrono::seconds(3), std::optional< std::chrono::system_clock::time_point > now=std::nullopt, ControlHostPreflightDiagnostics *diagnostics=nullptr)
Complete the child side of one inherited preflight and decode its bootstrap.
int ControlHostBootstrapHandle
Definition control_host_bootstrap.hpp:102
@ EntropyUnavailable
Definition control_connection_admission.hpp:46
ControlPeerRole
Definition control_identity.hpp:44
Definition control_host_preflight.hpp:32
ControlHostPreflightStatus status
Definition control_host_preflight.hpp:33
std::string explanation
Definition control_host_preflight.hpp:34