3.0 KiB
3.0 KiB
OC-Discovery — Diagrammes de séquence
Tous les fichiers .mmd sont au format Mermaid.
Rendu possible via VS Code (extension Mermaid Preview), IntelliJ, ou mermaid.live.
Vue d'ensemble des diagrammes
| Fichier | Description |
|---|---|
01_node_init.mmd |
Initialisation complète d'un Node (libp2p host, GossipSub, indexers, StreamService, PubSubService, NATS) |
02_node_claim.mmd |
Enregistrement du nœud auprès des indexeurs (claimInfo + publishPeerRecord) |
03_indexer_heartbeat.mmd |
Protocole heartbeat avec calcul du score qualité (bande passante, uptime, diversité) |
04_indexer_publish.mmd |
Publication d'un PeerRecord vers l'indexeur → DHT |
05_indexer_get.mmd |
Résolution d'un pair via l'indexeur (GetPeerRecord + handleNodeGet + DHT) |
06_native_registration.mmd |
Enregistrement d'un indexeur auprès d'un Native Indexer + gossip PubSub |
07_native_get_consensus.mmd |
ConnectToNatives : pool d'indexeurs + protocole de consensus (vote majoritaire) |
08_nats_create_resource.mmd |
Handler NATS CREATE_RESOURCE : connexion/déconnexion d'un partner |
09_nats_propagation.mmd |
Handler NATS PROPALGATION_EVENT : delete, considers, planner, search |
10_pubsub_search.mmd |
Recherche gossip globale (type "all") via GossipSub |
11_stream_search.mmd |
Recherche directe par stream (type "known" ou "partner") |
12_partner_heartbeat.mmd |
Heartbeat partner + propagation CRUD vers les partenaires |
13_planner_flow.mmd |
Session planner (ouverture, échange, fermeture) |
14_native_offload_gc.mmd |
Boucles background du Native Indexer (offload, DHT refresh, GC) |
Protocoles libp2p utilisés
| Protocole | Description |
|---|---|
/opencloud/heartbeat/1.0 |
Heartbeat node → indexeur (long-lived) |
/opencloud/heartbeat/indexer/1.0 |
Heartbeat indexeur → native (long-lived) |
/opencloud/resource/heartbeat/partner/1.0 |
Heartbeat node ↔ partner (long-lived) |
/opencloud/record/publish/1.0 |
Publication PeerRecord vers indexeur |
/opencloud/record/get/1.0 |
Requête GetPeerRecord vers indexeur |
/opencloud/native/subscribe/1.0 |
Enregistrement indexeur auprès du native |
/opencloud/native/indexers/1.0 |
Requête de pool d'indexeurs au native |
/opencloud/native/consensus/1.0 |
Validation de pool d'indexeurs (consensus) |
/opencloud/resource/search/1.0 |
Recherche de ressources entre peers |
/opencloud/resource/create/1.0 |
Propagation création ressource vers partner |
/opencloud/resource/update/1.0 |
Propagation mise à jour ressource vers partner |
/opencloud/resource/delete/1.0 |
Propagation suppression ressource vers partner |
/opencloud/resource/planner/1.0 |
Session planner (booking) |
/opencloud/resource/verify/1.0 |
Vérification signature ressource |
/opencloud/resource/considers/1.0 |
Transmission d'un "considers" d'exécution |