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

R · Liberado

Estruturarefresh

A resposta de sucesso a uma requisição de liberação (R).

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

Detentor X
Servidor
Espera Y
R · liberação (key · token)
R · liberado
se houver alguém na fila
A · concedido (novo token)
requisiçãoresposta

R (liberado) vai apenas para quem liberou. Se havia alguém esperando, separadamente disso, a conexão no início da fila recebe Concedido A — repassado diretamente sem nova disputa. As duas respostas saem por conexões diferentes, então não é necessária nenhuma ordem entre elas.