diff --git a/RFC8497.md b/RFC8497.md index 7605e73..7b9e820 100644 --- a/RFC8497.md +++ b/RFC8497.md @@ -138,3 +138,127 @@ Réponse à `updateAsk`. Permet de transférer une requête directement grâce au champ `dest` de la requête à transférer. +Communication entre un client et un noeud +----------------------------------------- + +### Register ### + +###### En-tête ###### + + EICP2P2 V1 + dest: ip:port + type: register + +###### Contenu ###### + + Rien + +###### Utilisation ###### + +Cette requête est envoyée par un client pour s'enregistrer sur le réseau. Le serveur répond avec un `registerACK`. + +### RegisterACK ### + +###### En-tête ###### + + EICP2P2 V1 + dest: ip:port + type: registerACK + +###### Contenu ###### + + id_noeud::id_client + +###### Utilisation ###### + +Réponse à un `register`. Le noeud communique au client son id et l'id du noeud auquel il est connecté. + +### Send ### + +###### En-tête ###### + + EICP2P2 V1 + dest: ip:port + type: send + to: id_client_destinataire + +###### Contenu ###### + + message_a_envoyer + +###### Utilisation ###### + +Cette requête est envoyé par un client enregistré à un noeud pour envoyer un message à un autre client. Le noeud va tansférer le message au client, soit directement, soit par d'autre noeuds. La requête `sendACK` est envoyée en retour. + +### SendACK ### + +###### En-tête ###### + + EICP2P2 V1 + dest: ip:port + type: sendACK + +###### Contenu ###### + + Rien + +###### Utilisation ###### + +Cette requête est envoyée par le destinataire d'une requête `send` après avoir transféré le message et avoir reçu le sendACK associé à l'envoi. + + C1 N1 C2 + > send > > send > + Wait sendACK from C2 + < sendACK < < sendACK < + +### Exit ### + +###### En-tête ###### + + EICP2P2 V1 + dest: ip:port + type: exit + +###### Contenu ###### + + id_client + +###### Utilisation ###### + +Envoyé par le client pour se déconnecter du réseau. Ne demande aucune réponse de la part du noeud. + +### Ping ### + +###### En-tête ###### + + EICP2P2 V1 + dest: ip:port + type: ping + +###### Contenu ###### + + Rien + +###### Utilisation ###### + +Envoyé par le serveur pour vérifier qu'un client est encore en ligne. Exige une réponse `pingACK` de la part du client. + +### PingACK ### + +###### En-tête ###### + + EICP2P2 V1 + dest: ip:port + type: pingACK + +###### Contenu ###### + + Rien + +###### Utilisation ###### + +Réponse duclient à une requête de ping. + + + +