roadmap: mark phase 2 done

This commit is contained in:
russell@unturf.com 2026-06-16 11:00:14 -04:00
parent bbb0c316c5
commit 99feb57767
No known key found for this signature in database

View file

@ -19,16 +19,16 @@ Phases below are sized to land as discrete commits. Each phase ends with
- Round-trip tests for the encoder
- Generator script committed at `docs/etf_vectors.erl`
## Phase 2 — EPMD client
## Phase 2 — EPMD client
EPMD (Erlang Port Mapper Daemon) maps node names to TCP ports.
Tiny synchronous TCP client.
- Connect `epmd_host:4369` (configurable)
- `PORT_PLEASE2_REQ` (113) → port + dist version range
- Return `EpmdNodeInfo(port, lo_ver, hi_ver, node_type, proto)`
- Tests: live EPMD on localhost (skip if not running), unit tests
against a recorded byte stream
- Synchronous TCP client
- `PORT_PLEASE2_REQ` (122) → `EpmdInfo(name, port, node_type, protocol, hi_ver, lo_ver, extra)`
- Returns `None` cleanly on unregistered node, raises `EpmdError` on
socket failures
- Tests: recorded byte streams from real EPMD + live integration that
spawns its own `erl -sname` and tears it down
## Phase 3 — Distribution handshake