You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Three fixes from review:
1. Treat the wire-format `port: uint32` as out-of-range when it can't fit
in u16 (instead of silently truncating to a different valid port). Use
`u16::try_from` and skip invalid entries.
2. Move the legacy `Info()` lazy fetch off the connection critical path:
- `should_send_pp` is now sync. On a cache hit it returns the declared
value; on a miss it enqueues the instance for the background worker
and returns `pp = false` immediately, so a slow/missing CVM agent
never blocks a proxied connection.
- A single background task (`spawn_fetcher`) drains the queue, dedupes
in-flight instance ids via a HashSet, applies a configurable
timeout (`timeouts.port_attrs_fetch`, default 10s), and writes the
result back to WaveKV.
3. Add unit tests in `pp.rs` for the inbound PROXY parser: v1/v2 IPv4
happy paths, no-prefix rejection, v1 missing terminator, v2
over-length cap, and the address synthesis/Display helpers.
0 commit comments