Actuellement en test : le code GitHub sera ouvert une fois terminé.

R · Libéré

Structurerefresh

La réponse de succès à une requête de libération (R).

Notation des octets : op est un caractère ASCII, token est binaire (u64, big-endian), et key est du texte UTF-8 (longueur variable, notée N dans la structure). Le \n final est 0A. L'en-tête fixe est une valeur binaire et peut contenir 0x0A : il faut donc le consommer d'abord selon son nombre d'octets, avant de chercher le retour à la ligne.

token est le corrélateur : la valeur envoyée dans la requête, renvoyée telle quelle. C'est par elle que le client identifie de quelle requête ceci est la réponse (Règles de correspondance des réponses).

Flux

Détenteur X
Serveur
Attendant Y
R · libération (key · token)
R · libéré
si un attendant existe
A · acquis (nouveau token)
requêteréponse

R (libéré) ne va qu'à celui qui libère. Si un attendant existait, indépendamment de cela, la connexion en tête de file reçoit Acquis A — remis directement sans nouvelle mise en concurrence. Les deux réponses partent sur des connexions différentes, aucun ordre entre elles n'est donc nécessaire.