* Event engine endpoint read and write API changes
* updating api change
* set google_specific to nullptr by default
* Event-Engine --> EventEngine
* life-time --> lifetime
* removing default args to make sanity checks pass
DNS requests were previously cancellable, but it was assumed
that the resolution callback would be called in all cases. Now, requests
provide a `bool Cancel(TaskHandle handle)` method that lets callers know
whether cancellation is successful, and if so, the callback will not be
run.
This is in accordance with EventEngine's cancellation semantics, and it
is a step towards migration from iomgr to EventEngine.
* sketch
* Eliminate post-init in channel stack builder
We've had a post init function on channel stack builder for a very long
time, an it serves to run some code after initialization completes.
We need the functionality for a few things, but the function passed in
is intimately tied to the filter in use - we never vary it between
multiple functions for the same filter... which means it makes more
sense to locate this functionality as part of the filter interface.
* fix
* Automated change: Fix sanity tests
* introduce-channel-stack
* introduce-channel-stack
* Automated change: Fix sanity tests
* fix
* fix
* fix
* fixes
* Fix
* fix
* fix
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* review feedback
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
* Revert "Revert "health check service: rewrite using callback API (#29457)" (#29559)"
This reverts commit d4680eb8eb.
* don't register callback generic service if there is an async generic service
* fix edge case in shutdown
* don't call Finish() more than once
* add log message to help debugging
* don't start a new write after calling Finish()
In the SubchannelStreamClient constructor, do not initialize an
absl::string_view with a null pointer; this leads to strlen() being
called on the null pointer. Let the absl::string_view be initialized
with the string literal "SubchannelStreamClient" in this case instead.
Fixes#29567.
* Move unnecessary absl includes from metadata_batch.h
metadata_batch.h is a widely used header, and so any includes it takes
that are for its internal use can negatively impact our build times.
* missing file
* build
* review feedback
* Eliminate post-init in channel stack builder
We've had a post init function on channel stack builder for a very long
time, an it serves to run some code after initialization completes.
We need the functionality for a few things, but the function passed in
is intimately tied to the filter in use - we never vary it between
multiple functions for the same filter... which means it makes more
sense to locate this functionality as part of the filter interface.
* fix
* Automated change: Fix sanity tests
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
When single closure is scheduled multiple times before it is run, it
runs less times than the number of times it is scheduled.
As a result, when server receives multiple RPC calls in a very short
time frame, `accept_stream_locked` is not correctly called for every
RPC call received.
We are working on internal server side stress test to make sure this
kind of error won't happen again.
This commit also uses atomic int for issuing new stream id. Without this
there is 10% probability of stream id collision when 128 parallel RPC
calls are initiated at the same time.