Transport RPC fondé sur l'identité ABI
Statut documentaire : architecture — voir Maturité et preuves.
La couche RPC est conçue comme une façade distante au-dessus de la même identité d'invocation orientée ABI que celle utilisée localement. Ce n'est pas un second modèle objet.
Une requête peut transporter :
abiVersion
TypeId / MethodId
TypeName / MethodName
InstanceId
CallKind
ReturnWireType
ReturnTypeId / ReturnTypeName
Arguments
Metadata
Les métadonnées comprennent les identifiants de session et de corrélation, le timeout, la version ABI, l'identité client, la nature de l'appelant, le token d'authentification et l'heure d'émission.
Références d'objets
Les objets Runtime distants sont représentés par des références contenant InstanceId, TypeId, TypeName et une date d'expiration. Le dispatcher résout la référence d'instance vers un handle natif et impose l'appartenance à la session pour les appels stateful.
La libération distante est explicite : une requête de release résout l'objet loué et appelle le chemin de libération natif avant de supprimer le lease.
Discovery et compatibilité
Le modèle RPC contient un document de discovery avec version Runtime, version ABI, modes supportés, rôles, capacités et capacités autorisées. Les capacités autorisées peuvent être associées à un TypeId et un MethodId.
Cela fournit une base permettant aux clients générés de négocier ce qu'un endpoint sait exécuter au lieu de supposer que tout membre généré est disponible à distance.
Santé et métriques
Les sources RPC définissent aussi la santé et des métriques Runtime, dont le nombre d'appels/échecs, les leases actifs/libérés/expirés, les erreurs de validation, les compteurs HTTP, les latences et l'uptime.
Maturité actuelle
Le dispatcher se décrit comme un Runtime natif/local embarqué sur ABI avec façade RPC et annonce les modes natif et RPC. C'est une preuve architecturale forte de la symétrie local/distant.
Cette page reste en architecture car les sources inspectées établissent le modèle de transport et de dispatch, mais pas encore une garantie publique complète de compatibilité pour chaque type de valeur généré et chaque binding.