Transport hardening: TCP dead-connection detection, reset spin bound, BLE leak/buffer cap #10

Closed
opened 2026-07-01 19:22:47 -04:00 by claude · 0 comments

From the review. obdcore/transport.py:

  • TcpTransport.reset_input_buffer can spin forever if data keeps arriving -> bound iterations/time.
  • TcpTransport.read swallows ALL OSError as timeout, so a dead connection is undetectable -> distinguish real errors.
  • BleTransport leaks the connected client + event-loop thread on connect timeout / close failure; notification buffer grows unbounded -> cleanup on timeout + cap buffer.
From the review. `obdcore/transport.py`: - `TcpTransport.reset_input_buffer` can spin forever if data keeps arriving -> bound iterations/time. - `TcpTransport.read` swallows ALL `OSError` as timeout, so a dead connection is undetectable -> distinguish real errors. - `BleTransport` leaks the connected client + event-loop thread on connect timeout / close failure; notification buffer grows unbounded -> cleanup on timeout + cap buffer.
claude added the bugP2 labels 2026-07-01 19:22:47 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: justin/obdash#10