DavidAlphaFox/aiutp
54.9
Adequate · 17 September 2026
7.8k
lines of production code
Erlang
primary language
1
measurement over time
What this system is
This system is an Erlang/OTP library implementing the uTP (Micro Transport Protocol) over UDP, designed to provide reliable, ordered data delivery with LEDBAT congestion control. It exposes a socket-based API that handles connection management, network I/O, and selective acknowledgments, while adhering to BEP-29 specifications. The codebase includes comprehensive documentation, unit tests, and example server/client applications for testing the protocol's echo functionality.
Features
Added uTP protocol example server and client
New example files \utp\_server.erl\ and \utp\_client.erl\ have been added to the \examples\ directory. The server provides an echo service that listens on a specified port (defaulting to 9000) and reflects received data back to the sender. The client allows users to connect to this server, send data, and receive responses, facilitating testing of the \aiutp\ protocol implementation.
examples · high confidence
Initial project scaffolding and documentation for aiutp uTP library
This change introduces the initial project structure for the aiutp Erlang/OTP uTP protocol library. It adds comprehensive documentation including a project plan (PLANNING.md) detailing the architecture, OTP supervision tree, and protocol implementation specifics; a task tracker (TASK.md) and its archive (TASK\_DONE.md); and AI development guidelines (CLAUDE.md). It also establishes the build configuration via rebar.config (including EUnit, Cover, and Dialyzer settings) and updates the .gitignore to reflect the rebar3 build environment.
(repo-wide) · high confidence
Introduce uTP (Micro Transport Protocol) library for Erlang
Adds a new \aiutp\ OTP application implementing the uTP protocol (BEP-29) over UDP. This library provides a socket-based API for reliable, ordered data delivery with LEDBAT congestion control, including features like path MTU discovery, selective acknowledgments (SACK), and configurable active/passive data modes.
src · high confidence
Introduce uTP protocol constants and connection state definitions
Added the \aiutp.hrl\ header file defining the core constants, packet types, connection states, and timing parameters for the uTP protocol implementation. This includes standard packet types (DATA, FIN, STATE, RESET, SYN), connection states (IDLE, SYN\_SENT, CONNECTED, etc.), and tuning parameters such as a reduced minimum RTO of 300ms, a 1296-byte packet size, and specific timeouts for keep-alive, zero-window probes, and receive idle detection to align with BEP-29 and libutp behaviors.
include · high confidence
Test coverage
Added comprehensive test suite for uTP core components
Added EUnit tests covering the performance and correctness of internal data structures (buffers, queues, delay estimation), packet encoding/decoding, MTU discovery logic, network window calculations, and the channel state machine and receive API.
test · high confidence
Housekeeping
Published EDoc documentation for the aiutp uTP library
Generated HTML documentation for the entire aiutp Erlang library, covering the public API (aiutp), connection management (aiutp\_channel, aiutp\_channel\_sup), network I/O (aiutp\_net), congestion control (aiutp\_delay), and internal buffering (aiutp\_buffer).
doc · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 55.
Lenses
- Code Health 98
- Architecture 100
- Maturity 63
- Readiness 26
- Security 100
Changes since last survey
- 300 commits — 219 feature/other, 81 fixes
By area
- src/aiutp_pcb.erl — 63 commits
- include/aiutp.hrl — 57 commits
- (root) — 34 commits
- src/aiutp_net.erl — 29 commits
- include/ai_utp.hrl — 22 commits
- src/ai_utp_net.erl — 22 commits
- src/ai_utp_worker.erl — 12 commits
- src/aiutp_worker.erl — 11 commits
- src/aiutp_socket.erl — 7 commits
- src/aiutp_rtt.erl — 6 commits
- src/aiutp_acceptor.erl — 4 commits
- (repo) — 3 commits
- src/ai_utp_protocol.erl — 3 commits
- src/aiutp_packet.erl — 3 commits
- src/aiutp_rx.erl — 3 commits
- src/aiutp_tx.erl — 3 commits
- docs/development — 2 commits
- docs/report — 2 commits
- docs/requirements — 2 commits
- src/ai_utp_cc.erl — 2 commits
Notable commits
- fix: Fix both closing
- fix: fix Sack
- fix: fix ack
- fix: fix ack
- fix: fix ack packet process
- fix: fix active read
- fix: fix active read bug
- fix: fix active reading after close
- fix: fix aiutp_net:do_send
- fix: fix bug in SACKS
- fix: fix bug in sack
- fix: fix bug of close
- fix: fix cc
- fix: fix clock drift
- fix: fix clock drift
- fix: fix close
- fix: fix close problems
- fix: fix close timeout
- fix: fix closing
- fix: fix compile
- …and 280 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
DavidAlphaFox/aiutp was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 17 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit b03ffb98f60927ba157a2719ae3534e28d46b780 — the exact code this score is about.
- Scored under rubric-2026.09.13 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-d1ef6c0bd534.