Atualmente em testes: o código do GitHub será aberto quando concluído.

N · Não Encontrado

Estruturarefresh

Retornado quando a chave não existia no momento de uma requisição de liberação (R) — ou quando ela existe, mas o token não confere com o atualmente detido. Isso não é um erro — é retornado como um valor de "não existia".

Notação de bytes: op é um caractere ASCII, token é binário (u64, big-endian), e key é texto UTF-8 (comprimento variável, mostrado como N na estrutura). O \n final é 0A. O cabeçalho fixo é um valor binário e pode conter 0x0A, então precisa ser consumido primeiro pela contagem de bytes, antes de procurar a nova linha.

token é o correlacionador: o valor enviado na requisição, devolvido sem alteração. É por ele que o cliente identifica de qual requisição esta é a resposta (Regras de Correspondência de Resposta).

Fluxo

Cliente
Servidor
R · liberação (key · token)
a chave não existe, ou o token não confere
N · não encontrado
requisiçãoresposta

A liberação é praticamente idempotente — enviar R para uma chave que o servidor já recuperou via expiração do lease, ou que já foi liberada, retorna N. O mesmo acontece quando a chave já foi reconcedida a outro detentor: o token não confere e o lock dele fica intacto. Como isso é um ramo normal do fluxo, os clientes não precisam tratá-lo como um erro.