Today is exactly twelve years ago since we created the lib/http2.c source file in the #curl source tree, and doing HTTP would never be the same again.
The paradigm shift going from one transfer per connection to possibly multiple transfers per connection was massive and took many years until most of the bugs were ironed out.
Koutsie
in reply to daniel:// stenberg:// • • •schnedan
in reply to daniel:// stenberg:// • • •bad specification or bad code?
😉
daniel:// stenberg://
in reply to schnedan • • •Stefan Eissing
in reply to schnedan • • •@schnedan Several assumption in code modelling needed to change.
Every request is still tied to a socket, a socket is now shared by many request.
And if you process reqest 1 and read from its socket, you may get data for request 2. etc.
schnedan
in reply to Stefan Eissing • • •@icing well, if the spec is complete and unambiguous, it should be possible to describe the problem with a state machine? Then it should be possible to implement and verify it, or?
"And if you process reqest 1 and read from its socket, you may get data for request 2. etc."
these chucks of data are not tagged somehow?
daniel:// stenberg://
in reply to schnedan • • •schnedan
in reply to daniel:// stenberg:// • • •Guess make it perfect was not an option for you cause of the shipping delay.