B · Occupé
Réponse à une requête Acquire (A) non admise parce que la file de la clé ou l'admission globale key/waiter/pending/memory a atteint son plafond. Cette requête n'a certainement pas obtenu le verrou et sa trame n'était pas invalide.
owner est la valeur de la requête renvoyée comme correlator ; elle identifie exactement l'acquire refusé (voir règles d'association).
Traitement client
Les clients officiels rendent immédiatement le B corrélé au caller comme erreur Busy/Capacity et ne retransmettent pas en interne le même acquire logique. Pour réessayer, le caller fixe un deadline global et un backoff, puis démarre explicitement un nouvel acquire avec un nouvel owner.
Un B réellement observé prouve la non-acquisition, donc un autre appel est sûr. Ne jamais déduire B d'un envoi sans réponse ; ce résultat est Indeterminate.
Notation des octets :
opest un caractère ASCII,ownerest binaire (u64, big-endian), etkeyest du texte UTF-8 (longueur variable, notéeNdans la structure). Le\nfinal est0A. L'en-tête fixe est une valeur binaire et peut contenir0x0A: il faut donc le consommer d'abord selon son nombre d'octets, avant de chercher le retour à la ligne.
Flux
Ces plafonds sont des memory guardrails. Ils refusent les nouveaux acquires avant un OOM du daemon tout en réservant des ressources à exact-token release, aux réponses approuvées, au cleanup et à Raft recovery. Les causes key_busy, per_key_limit, global_overload, etc. sont distinguées dans metrics/logs, pas sur le wire.