swift-server/async-http-client

the delegate's `didSendRequestPart` is invoked at the wrong point in time

weissi opened this issue · 2 comments

Since version 1.6.0 (it worked in 1.5.1), AHC seemingly invokes the delegates didSendRequestPart method when the write of the body part is started and not when the write has succeeded.

That's pretty bad because a user might trigger the generation of the next data to send in this delegate method which therefore might break backpressure.

Yup, this definitely isn't right. We could chain the backpressure either off the write promise or the same backpressure future we're using for the StreamWriter