menuTicketing

Matrice requête × état de la clé

A (Acquisition)

État de la cléAction du serveurRéponseMoment
Non enregistréeEnregistrement (expiration = now+lease), émission d'un jetonA+token+keyImmédiat
Enregistrée + expiration passéeRenouvellement (now+lease), nouveau jetonA+token+keyImmédiat
Enregistrée + valide (occupée)Ajout à la file d'attente, réponse différéeA+token+key ou T+keyAu moment où l'acquisition se produit via libération/expiration, ou T si wait est dépassé
  • La voie de libération est équitable (FIFO) : lorsque le détenteur envoie R, le premier de la file d'attente reçoit directement le relais (pas de nouvelle compétition, nouveau jeton).
  • Seule la voie d'expiration n'est pas FIFO. Pas de réentrance (si le même client envoie à nouveau A sur une clé qu'il détient → mis en file d'attente).

R (Libération)

État de la cléAction du serveurRéponse
Enregistrée, avec des clients en attenteRelais direct au premier en attente (nouveau jeton)R+key
Enregistrée, sans client en attenteSuppression de la cléR+key
Non enregistréeAucune actionN+key