Referencia de tiempo de ejecución C++
C++ referencia de tiempo de ejecución
Sección titulada «C++ referencia de tiempo de ejecución»Esta página cubre la superficie C++ completa representada por el
inventario API exacto. El comportamiento del protocolo compartido
permanece definido por la
referencia de tiempo de ejecución
y las cláusulas de referencia locales.
Las declaraciones públicas están en el espacio de nombres
missionweaveprotocol; Enlace de destinos CMake descendentes
MissionWeaveProtocol::sdk.
Implementado se aplica a los encabezados instalados y al comportamiento en proceso que se enumeran a continuación.
Requiere adaptador de despliegue se aplica a la autoridad Registry actual, al contexto de admisión confiable, al acceso a registros autenticados y a otros servicios de implementación.
No implementado significa que la biblioteca fijada exactamente no tiene un tiempo de ejecución correspondiente.
Biblioteca y modelo de ejecución.
Sección titulada «Biblioteca y modelo de ejecución.»El paquete instalado requiere C++ 20, CMake 3.24, OpenSSL 3 y jsoncons 1.8.1. Su
objetivo exportado es MissionWeaveProtocol::sdk; Los encabezados públicos
instalados se encuentran en include/missionweaveprotocol. El ejecutable
instalado por separado es missionweaveprotocol-conformance.
Vincular la biblioteca no inicia ningún servicio, no abre ningún socket, no crea
ningún almacén duradero y no otorga ninguna autoridad. Los resultados
std::span hacen referencia a bytes propiedad de SDK o de propiedad de objeto
según la declaración API y no deben sobrevivir a su propietario.
Mapa de encabezado completo
Sección titulada «Mapa de encabezado completo»| Preocupación por el tiempo de ejecución | Cabeceras públicas instaladas | Contrato en el compromiso fijado |
|---|---|---|
| Versión y tipos de activos | version.hpp, bundle.hpp |
SDK e identidad de protocolo, tramos de activos integrados inmutables, pines exactos y resúmenes de paquetes. |
| Estricto JSON | json.hpp |
parse_strict_json sobre texto o bytes con miembros duplicados, UTF-8/JSON con formato incorrecto y rechazo de datos finales. |
| Esquema y hora exacta | schema.hpp, signed_document.hpp |
Validación del borrador sin conexión 2020-12, formatos afirmados y evidencia exacta de tiempo protegido. |
| Canonical JSON y Ed25519 | canonical.hpp, crypto.hpp |
RFC 8785 cadenas y hashes más estrictos ayudantes de firma y verificación Ed25519. |
| Documentos firmados y Registry | signed_document.hpp |
Nueve tipos de documentos, firma, validación Registry completa, verificación en seis etapas y evidencia inmutable. |
| Marcos | frame.hpp |
Decodificación estricta, codificación canónica y validación de documentos para valores de fotograma WebSocket. Este es un códec, no un servicio de puerta de enlace alojado. |
| Conformidad estructural | conformance.hpp |
Ejecución de vectores de esquema integrados, resultados de vectores y resumen de informes. |
| Paquetes integrados | bundle.hpp |
Acceso exacto a activos y verificación de resumen para paquetes de protocolo, criptografía y admisión. |
| Primera admisión | admission.hpp |
Primera admisión y confianza histórica por encima de la verificación Signed Document exitosa. |
Validación, firma y evidencia Registry
Sección titulada «Validación, firma y evidencia Registry»parse_strict_json acepta exactamente un valor JSON. SchemaCatalog::validate
verifica los 22 esquemas borradores 2020-12 integrados. canonical_json,
canonicalize_json, canonical_sha256 y canonical_sha256_document
implementan la superficie RFC 8785.
SigningKey es la interfaz de firma propiedad de la aplicación. Ed25519
expone ayudantes estrictos de claves, firmas y documentos.
SignedDocumentCodec::sign y verify seleccionan uno de los nueve valores
SignedDocumentKind y ejecutan las etapas de análisis, esquema, sobre de firma,
resolución de clave, canonicalización y firma.
KeyResolver::resolve debe devolver evidencia
KeyRegistrySnapshot::organization_wide para una revisión Organization
coherente y aplicable con el historial retenido completo. Una clave
seleccionada, una proyección parcial, un acierto de caché o un indicador de
confianza proporcionado por la persona que llama no son suficientes.
VerifiedSignedDocument expone los bytes recibidos, las cadenas y hashes
canónicos y de firma, la hora protegida, el material de la firma y las claves
Registry y Principal resueltas.
Marcos, paquetes y conformidad
Sección titulada «Marcos, paquetes y conformidad»FrameCodec::decode, encode y validate_document validan los valores del
marco; no poseen transporte, TLS, autenticación de sesión, persistencia del
cursor, enrutamiento, contrapresión ni transiciones de estado autoritativas.
ProtocolBundle::verify comprueba el paquete estructural de 22 esquemas y 59
archivos. verify_cryptography verifica 98 artefactos, 22 casos y 62
evaluaciones declaradas; verify_admission verifica 19 artefactos, 5 casos y 30
evaluaciones declaradas. Esas llamadas verifican pines, recuentos, rutas,
longitudes de bytes y resúmenes, pero no ejecutan todas las evaluaciones de
admisión o criptografía.
ConformanceRunner::run y missionweaveprotocol-conformance ejecutan solo los
vectores de esquema estructural incrustados. El ejecutable devuelve cero sólo
cuando todos los vectores coinciden con su validez esperada.
Primera admisión
Sección titulada «Primera admisión»AdmissionService expone prepare_first_admission, admit_first y
verify_historical_admission. Continúe con la
C++ Referencia de admisión para conocer los resultados exactos
del adaptador, el orden de llamadas y el ejemplo vinculado ejecutable.
Límites de disponibilidad explícitos
Sección titulada «Límites de disponibilidad explícitos»Requiere adaptador de despliegue Autoridad de admisión: la aplicación proporciona evidencia Registry actual, evidencia Registry histórica, contexto de aceptación confiable y un registro autenticado de solo agregar.
No implementado Mission orquestación: no se exporta ninguna máquina de estado Mission ni fachada de orquestación de alto nivel.
No implementado Programador Worker: no se exporta ninguna cola, programador, ejecutor de concesión ni bucle de recuperación Worker.
No implementado Servicio de puerta de enlace
alojada: la biblioteca proporciona FrameCodec, no un servicio de puerta de
enlace con transporte, TLS, sesión, enrutamiento o propiedad de contrapresión.
No implementado Runtime de persistencia autoritativa: no se exporta ningún tiempo de ejecución de persistencia local respaldado por una base de datos o Agent.
Estas ausencias son parte del contrato de soporte documentado; Las capacidades de tiempo de ejecución de referencia Python no se deben inferir de los nombres de protocolos compartidos.