프로토콜 — 클라이언트 ↔ 서버
클라이언트 포트(기본 5225)에서 오가는 모든 바이트의 규격입니다. 연결 직후 1회 수행되는 인증 핸드셰이크와, 그 이후의 바이너리 프레임 락 프로토콜로 구성됩니다. 모든 공식 클라이언트는 이 규격을 바이트 단위로 동일하게 구현합니다.
각 메시지 페이지의 구조는 필드 배치를, 예시는 실제 전송 바이트를 보여줍니다(refresh로 값이 바뀝니다).
바이트 표기:
op는 ASCII 문자(예:A)로,wait·lease·token·owner는 바이너리라 16진수(hex)로 표시합니다(예:wait=5=05).token·owner는 빅엔디안입니다.key·addr는 UTF-8 텍스트,reason은 ASCII 텍스트이며 모두 길이가 가변이라 구조에서N으로 표기합니다. 마지막\n(개행)은0A로 프레임을 끝맺습니다. 필드는 구분자 없이 붙어서 전송됩니다.고정 헤더(
wait·lease·token·owner)는 이진 값이라0x0A를 포함할 수 있습니다 — 파서는 개행을 찾기 전에 op별 고정 헤더 길이만큼 먼저 소비해야 합니다. 길이는 요청A=10B /R=8B, 응답A=16B /T·B·R·N=8B /M·L·E=0B입니다.
목차
서버 ↔ 서버 사이의 클러스터 합의(Raft) 프로토콜은 별도 페이지에서 다룹니다.