Firefox can split a DevTools protocol packet across multiple TCP reads. The previous reader only checked that some data was available, then tried to synchronously read the whole length-prefixed packet from the readiness callback. Once the socket was nonblocking this could make startup flaky when Firefox opened the inspector. Buffer incoming bytes instead, and only dispatch messages once a full length-prefixed JSON payload has arrived. Add a protocol test that sends a request in two fragments through the real DevTools server. |
||
|---|---|---|
| .. | ||
| CMakeLists.txt | ||
| TestDevToolsProtocol.cpp | ||