Commit Graph

3 Commits

Author SHA1 Message Date
Craig Tiller a44cbfc11c Fix race condition in transport API
Specifically:

Receiving trailing and initial metadata had to be published in
lock-step.
=> If we wanted trailing metadata, we might not get initial metadata processed
   until messages arrived.
=> Compression code had no idea what codec to use.

To fix it, publish initial metadata as soon as it's ready (this is a
transport API change).

Requires changes to grpc_call to ensure ordering in processing initial
metadata and messages (one may be delayed).

Exposed at least some bugs in C++ where we never read initial metadata.

I expect at least one more similar bug.
2016-02-03 16:02:49 -08:00
David Garcia Quintas 6523391782 sanity fixes 2016-01-27 20:07:36 -08:00
David Garcia Quintas 6bd7b97dc6 DONE!!1one 2016-01-27 19:21:12 -08:00