Repository navigation
Adds Hell.Handler.set_read_timeout/2 so connection owners can disable the persistent read-idle timeout when their first long-lived stream opens and restore a finite policy when their last stream closes. The operation supports GenServer call, cast, info, and continuation callbacks; retain its returned socket in handler state.
Read timers now carry a Hell-specific tag and timer reference. Queued or late notifications from a replaced timer are ignored, while application-owned timers and existing callback timeout returns retain their behavior. Explicit receive, transport send, and handshake deadlines remain independent.
Fixes #2.
Validation: 166 ExUnit tests; compilation with warnings as errors; formatting, unused-dependency checks, strict Credo, Dialyzer, and docs; packaged TCP/TLS echo and graceful-shutdown smoke tests. All 12 Linux/macOS toolchain jobs and static CI passed on the release commit. A fresh Hex-only consumer passed 41 tests against the published package; its checksum and all 24 packaged files match the tagged source.