C++ Laufzeitreferenz
C++ Laufzeitreferenz
Abschnitt betitelt „C++ Laufzeitreferenz“Diese Seite deckt die vollständige C++-Oberfläche ab, die durch das
genaue API Inventar dargestellt wird. Das Verhalten des gemeinsam
genutzten Protokolls bleibt durch die lokalen
Laufzeitreferenz und
Referenzklauseln definiert. Öffentliche
Deklarationen befinden sich im Namespace missionweaveprotocol; Nachgelagerte
CMake-Ziele verknüpfen MissionWeaveProtocol::sdk.
Implementiert gilt für die unten aufgeführten installierten Header und das In-Process-Verhalten.
Bereitstellungsadapter erforderlich gilt für die aktuelle Registry-Autorität, den vertrauenswürdigen Zulassungskontext, den authentifizierten Protokollzugriff und andere Bereitstellungsdienste.
Nicht implementiert bedeutet, dass die exakt angeheftete Bibliothek keine entsprechende Laufzeit hat.
Bibliothek und Ausführungsmodell
Abschnitt betitelt „Bibliothek und Ausführungsmodell“Das installierte Paket erfordert C++20, CMake 3.24, OpenSSL 3 und jsoncons
1.8.1. Sein exportiertes Ziel ist MissionWeaveProtocol::sdk; Installierte
öffentliche Header befinden sich unter include/missionweaveprotocol. Die
separat installierte ausführbare Datei ist missionweaveprotocol-conformance.
Durch das Verknüpfen der Bibliothek wird kein Dienst gestartet, kein Socket
geöffnet, kein dauerhafter Speicher erstellt und keine Autorität gewährt.
std::span-Ergebnisse verweisen auf SDK-eigene oder objekteigene Bytes gemäß
der Deklaration von API und dürfen ihren Besitzer nicht überleben.
Vollständige Header-Map
Abschnitt betitelt „Vollständige Header-Map“| Laufzeitproblem | Installierte öffentliche Header | Vertrag beim angehefteten Commit |
|---|---|---|
| Versions- und Asset-Typen | version.hpp, bundle.hpp |
SDK und Protokollidentität, unveränderliche eingebettete Asset-Spans, genaue Pins und Bundle-Zusammenfassungen. |
| Strikt JSON | json.hpp |
parse_strict_json über Text oder Bytes mit doppeltem Mitglied, fehlerhaftem UTF-8/JSON und Ablehnung von nachgestellten Daten. |
| Schema und genaue Zeit | schema.hpp, signed_document.hpp |
Offline-Entwurfsvalidierung 2020-12, bestätigte Formate und genaue Beweise für die geschützte Zeit. |
| Kanonisch JSON und Ed25519 | canonical.hpp, crypto.hpp |
RFC 8785 Strings und Hashes plus strenge Ed25519 Signierungs- und Verifizierungshelfer. |
| Signierte Dokumente und Registry | signed_document.hpp |
Neun Dokumentarten, Signierung, vollständige Registry-Validierung, sechsstufige Verifizierung und unveränderliche Beweise. |
| Rahmen | frame.hpp |
Strikte Dekodierung, kanonische Kodierung und Dokumentvalidierung für WebSocket-Framewerte. Dies ist ein Codec, kein gehosteter Gateway-Dienst. |
| Strukturkonformität | conformance.hpp |
Eingebettete Schema-Vektorausführung, Vektorergebnisse und Berichtszusammenfassung. |
| Eingebettete Pakete | bundle.hpp |
Exakter Asset-Zugriff und Digest-Verifizierung für Protokoll-, Kryptografie- und Zulassungspakete. |
| Erstzulassung | admission.hpp |
Erste Zulassung und historisches Vertrauen über erfolgreiche Signed Document-Verifizierung. |
Validierung, Signierung und Registry Beweis
Abschnitt betitelt „Validierung, Signierung und Registry Beweis“parse_strict_json akzeptiert genau einen JSON-Wert. SchemaCatalog::validate
prüft die 22 eingebetteten Schemata des Entwurfs 2020-12. canonical_json,
canonicalize_json, canonical_sha256 und canonical_sha256_document
implementieren die Oberfläche RFC 8785.
SigningKey ist die anwendungseigene Signaturschnittstelle. Ed25519 stellt
strikte Schlüssel-, Signatur- und Dokumenthilfsprogramme bereit.
SignedDocumentCodec::sign und verify wählen einen von neun
SignedDocumentKind-Werten aus und führen die Phasen Parse, Schema,
Signaturumschlag, Schlüsselauflösung, Kanonisierung und Signatur aus.
KeyResolver::resolve muss KeyRegistrySnapshot::organization_wide Beweise für
eine kohärente anwendbare Organization Revision mit vollständiger
Aufbewahrungshistorie zurückgeben. Ein ausgewählter Schlüssel, eine
Teilprojektion, ein Cache-Treffer oder ein vom Aufrufer bereitgestelltes
Vertrauensflag ist unzureichend. VerifiedSignedDocument stellt die empfangenen
Bytes, signierten und kanonischen Zeichenfolgen und Hashes, die geschützte Zeit,
das Signaturmaterial sowie den aufgelösten Schlüssel Registry und Principal
bereit.
Frames, Bundles und Konformität
Abschnitt betitelt „Frames, Bundles und Konformität“FrameCodec::decode, encode und validate_document validieren Framewerte;
Sie verfügen nicht über Transport, TLS, Sitzungsauthentifizierung,
Cursorpersistenz, Routing, Gegendruck oder maßgebliche Zustandsübergänge.
ProtocolBundle::verify überprüft das Strukturpaket mit 22 Schemata und 59
Dateien. verify_cryptography prüft 98 Artefakte, 22 Fälle und 62 deklarierte
Bewertungen; verify_admission prüft 19 Artefakte, 5 Fälle und 30 deklarierte
Bewertungen. Diese Aufrufe überprüfen Pins, Anzahlen, Pfade, Bytelängen und
Digests, führen jedoch nicht jede Kryptografie oder Zulassungsbewertung aus.
ConformanceRunner::run und missionweaveprotocol-conformance führen nur die
eingebetteten strukturellen Schemavektoren aus. Die ausführbare Datei gibt nur
dann Null zurück, wenn alle Vektoren ihrer erwarteten Gültigkeit entsprechen.
Erster Einlass
Abschnitt betitelt „Erster Einlass“AdmissionService macht prepare_first_admission, admit_first und
verify_historical_admission verfügbar. Fahren Sie mit der
C++ Zulassungsreferenz für genaue Adapterergebnisse,
Aufrufreihenfolge und das ausführbare verknüpfte Beispiel fort.
Explizite Verfügbarkeitsgrenzen
Abschnitt betitelt „Explizite Verfügbarkeitsgrenzen“Admission-Authority-Grenze – die Anwendung stellt aktuelle Registry-Beweise, historische Registry-Beweise, vertrauenswürdigen Akzeptanzkontext und ein authentifiziertes Nur-Anhänge-Protokoll bereit.
Nicht implementiert Mission Orchestrierung – es wird keine übergeordnete Mission Zustandsmaschine oder Orchestrierungsfassade exportiert.
Nicht implementiert Worker Scheduler – keine Worker Warteschlange, kein Scheduler, Lease Runner oder Wiederherstellungsschleife wird exportiert.
Nicht implementiert Gehosteter Gateway-Dienst – die
Bibliothek stellt FrameCodec bereit, keinen Gateway-Dienst mit Transport-,
TLS-, Sitzungs-, Routing- oder Gegendruckbesitz.
Nicht implementiert Autoritative Persistenzlaufzeit – es wird keine datenbankgestützte oder Agent-lokale Persistenzlaufzeit exportiert.
Diese Abwesenheiten sind Bestandteil des dokumentierten Betreuungsvertrages; Python Referenzlaufzeitfunktionen dürfen nicht aus gemeinsam genutzten Protokollnamen abgeleitet werden.