1.8 KiB
1.8 KiB
프로토콜 기준선
목표
각 구현체가 애플리케이션별 동작을 코어에 넣지 않고도 상호 운용될 수 있도록 Proto Socket의 공유 프로토콜 계약을 확립한다.
단계
프로토콜 기반
상태
완료
범위
- TCP 4바이트 빅엔디안 길이 프리픽스 프레이밍을 문서화한다.
- WebSocket/WSS 바이너리 프레임 전송을 문서화한다.
PacketBase,typeName,nonce,responseNonce,HeartBeat동작을 정의한다.- 프로토콜 버전과 패키지 버전의 분리 정책을 정의한다.
proto/message_common.proto를 canonical proto 원본으로 둔다.
필수 기능
- 프로토콜 버전
0.1을PROTOCOL.md와VERSIONING.md에 문서화한다. - Canonical proto 원본이
proto/message_common.proto임을 문서화한다. - TCP 및 WebSocket 와이어 포맷을 문서화한다.
- 하트비트 생명주기와 요청-응답 상관관계를 문서화한다.
- breaking / non-breaking 프로토콜 변경 정책을 문서화한다.
완료 기준
- 구현자는
PROTOCOL.md,VERSIONING.md,PORTING_GUIDE.md를 기준으로 호환되는 언어 포트를 만들 수 있다. - 프로토콜 수준 변경에는 명시적인 호환성 검토 경로가 있다.
- 생성된 언어별 proto 사본은 canonical schema와 대조할 수 있다.
범위 제외
- 애플리케이션 수준 인증, 세션, 채팅, 게임, 룸, 에이전트 워크플로 의미를 정의하지 않는다.
- 언어 패키지를 배포하지 않는다.
- TCP/TLS 및 WebSocket/WSS 외의 새 transport 계열을 추가하지 않는다.
작업 컨텍스트
와이어 포맷의 기준 문서는 PROTOCOL.md, 호환성 정책의 기준 문서는 VERSIONING.md다. Proto schema가 바뀌면 binding을 재생성하고 tools/check_proto_sync.sh를 실행한다.