menuTicketing

Matriz de requisição × estado da chave

A (aquisição)

Estado da chaveAção do servidorRespostaMomento
Não registradaRegistra (expiração=now+lease), emite tokenA+token+keyImediato
Registrada + expiradaRenova (now+lease), novo tokenA+token+keyImediato
Registrada + válida (em posse)Registra na fila de espera, resposta pendenteA+token+key ou T+keyNo instante da aquisição por liberação/expiração, ou T ao exceder wait
  • O caminho de liberação é justo por FIFO: quando o detentor faz R, o repasse vai diretamente para o primeiro da fila de espera (sem nova disputa, com novo token).
  • Apenas o caminho de expiração não é FIFO. Não há reentrância (o mesmo cliente fazendo A novamente sobre uma chave que já possui → vai para a fila de espera).

R (liberação)

Estado da chaveAção do servidorResposta
Registrada, com esperaRepasse direto ao primeiro da fila de espera (novo token)R+key
Registrada, sem esperaExclui a chaveR+key
Não registradaNenhumaN+key