( )⚙ D2901 wireproto: explicitly track which requests are active

This is an archive of the discontinued Mercurial Phabricator instance.

wireproto: explicitly track which requests are active
ClosedPublic

Authored by indygreg on Mar 19 2018, 5:42 PM.

Details

Summary

We previously only tracked which requests are receiving. A
misbehaving client could accidentally have multiple requests with
the same ID in flight.

We now explicitly track which request IDs are currently active.
We make it illegal to receive a frame associated with a request
ID that has already been dispatched.

Diff Detail

Repository
rHG Mercurial
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.