This extends the existing http parser to support requests as well as responses.
httpcli continues to exist and work as it has previously, though in the new
directory src/core/http (to reflect the fact the directory now contains code
relevant to parsing requests, which httpcli would not generally involve itself
in).
tsan documentation says 2-20x, so set it at 20x
asan documentation says 1.2-2.7x, so set it at 3x
msan documentation says 2-4x, so set it at 4x
This is now much less optimistic than before
2. Reactive tsan tests for qps_test
3. Set CPU load for qps_openloop_test
4. Divide qps_openloop_test Poisson rate by the slowdown factor of
the configuration
Allow plugins to extend the set of filters used by gRPC core:
- plugins at construction time can register against the 'channel_init' system to be allowed to mutate a new channel_stack_builder type
- channel_stack_builder provides a central and rather dynamic place to construct the list of filters required by a channel stack
- ultimately we construct the channel stack in the fashion we always have
This is also a prerequisite step to allowing filters to be implemented from wrapped languages.
for now. This will increase our coverage of concurrent execution cases in C++
since we don't currently have any coverage for multithreaded async execution using
a common completion queue.
In this test, 100 client threads initiate 1000 RPCs each, then join, and then
100 client threads come along to proces those RPC completion events as they come back.