Commit Graph

4361 Commits

Author SHA1 Message Date
Cheng-Yu Chung 3eb0c7f2ff
Remove `include/grpcpp/impl/codegen/client_unary_call.h` (#31058)
* Remove `include/grpcpp/impl/codegen/client_unary_call.h`

* Automated change: Fix sanity tests

* Fix

Co-authored-by: ralphchung <ralphchung@users.noreply.github.com>
2022-10-10 11:34:55 -04:00
Cheng-Yu Chung d76c6f61f0
Remove `include/grpcpp/impl/codegen/method_handler.h` (#31249) 2022-10-06 15:50:54 -04:00
Cheng-Yu Chung 488f17eb46
Remove `include/grpcpp/impl/codegen/message_allocator.h` (#31246) 2022-10-06 13:18:24 -04:00
Cheng-Yu Chung 279ec5ab45
Remove `include/grpcpp/impl/codegen/interceptor.h` (#31245) 2022-10-06 13:18:11 -04:00
Cheng-Yu Chung a192f155b9
Remove `include/grpcpp/impl/codegen/config.h` (#31061)
* Remove `include/grpcpp/impl/codegen/config.h`

* Update
2022-10-06 13:14:16 -04:00
Cheng-Yu Chung 4ba0f9afb5
Revert "Revert "Remove `include/grpcpp/impl/codegen/client_callback.h` (#31005)" (#31079)" (#31087)
This reverts commit da08fe1d6f.
2022-10-04 13:59:32 -04:00
Cheng-Yu Chung 0e8a6515df
Remove `include/grpcpp/impl/codegen/client_context.h` (#31006)
* Remove `include/grpcpp/impl/codegen/client_context.h`

* Update

* Update
2022-10-03 18:01:22 -04:00
nanahpang d84846646d
Enable logs for error message in call_op_set.h. (#31177)
* Enable logs for error message in call_op_set.h. 

The `gpr_log` was commented out from call_op_set.h at PR: https://github.com/grpc/grpc/pull/20681, because of the undefined error. It is probably just missing the header file, so adding the `gpr_log` back.

* Automated change: Fix sanity tests (#31178)

Co-authored-by: nanahpang <nanahpang@users.noreply.github.com>

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: nanahpang <nanahpang@users.noreply.github.com>
2022-09-30 10:28:06 -07:00
Vignesh Babu 7655858e93
Reland tcp endpoints for posix event engine (#31150)
* Revert "Revert "Tcp endpoint implementation for posix event engine. (#30559)" (#31134)"

This reverts commit 5fa37322cb.

* make tx zero-copy more robust

* make tx zero-copy more robust

* typo

* fix

* re-enable commented code

* sanity

* sanity again

* Add parsing of /etc/security/limits.d directory

* review comments

* review comments

* typo in copyright

* missing newline

* sanity

* sanity

* iwyu
2022-09-30 09:26:08 -07:00
AJ Heller 6cac641c64
EventEngineFactoryReset - remove custom factory and reset default engine (#30554)
* EventEngineFactoryReset - remove custom factory and reset default engine

* fix

* Automated change: Fix sanity tests

* unused parameter

* fix

* fix

Co-authored-by: drfloob <drfloob@users.noreply.github.com>
2022-09-29 15:45:54 -07:00
Ashitha Santhosh 2bdec04852
Update comment on GRPC_ARG_TSI_MAX_FRAME_SIZE (#31114) 2022-09-28 09:56:24 -07:00
AJ Heller 2ee2c91c92
Reland x2: Make GetDefaultEventEngine return a shared_ptr (#30619)
* Reland x2: Make GetDefaultEventEngine return a shared_ptr

* remove thread leak from NativeDNSResolver

This is not going to work for resolvers that support cancellation.

* give resolvers bounded lifetimes

Some resolver own EventEngines. EventEngines cannot run off the end of
the process since they have unjoined threads (problematic in a small set
of environments). This gives resolvers bounded lifetimes, and allows
replacement of resolvers without ASAN issues of deleting resolvers in
active use (occurs in tests).

* fix

* fix windows

* fix surface init test

* fix

* sanitize

* use after move

* the test must wait for the callback to be destroyed

* windows fix: delete the resolver on iomgr shutdown, not before

* Make TimerManager threads non-joinable

On gRPC shutdown, any unjoined TimerManager threads will cause TSAN to
detect thread leaks. This fix resolves issues I saw in end2end test
shutdown in another PR, where a single timer manager thread was always
alive after the test ended.

The long-term solution is to integrate the new ThreadPool here, but this
unblocks me for now.

* backport fix

* fix

* shared_ptr<EventEngine> in EventEngine benchmarks
2022-09-28 08:39:56 -07:00
Craig Tiller 5fa37322cb
Revert "Tcp endpoint implementation for posix event engine. (#30559)" (#31134)
This reverts commit a81391d931.
2022-09-27 08:04:25 -07:00
Vignesh Babu a81391d931
Tcp endpoint implementation for posix event engine. (#30559)
* convert tcp code to use EndpointConfig and successfully compile

* regenerate projects

* copying config options used in tcp code to create map backed endpoint configs

* fix minor build issues

* fix includes in tests

* fix some build and test issues

* modifying endpoint config definition from an abstract interface into a concrete implementation

* minor fix

* add unreachable code check

* fix some windows build issues

* fix more build issues

* adding a grpc_tcp_generic_options struct to hold data extracted from EndpointConfig

* code formatting

* simplify

* fix sanity checks

* fix windows issues

* some posix fixes

* disabling copy constructor and copy assignment operator for endpoint config

* fix sanity checks

* fix syntax error

* fix weird formatting

* fix build issue

* fix review comments

* reverting un-necessary change

* remove channel args completely from windows impl since it is unused

* remove unused headers and fix usage in endpoint_pair_windows.cc

* cleanup

* cleanup

* fix some initialization issues

* re-generate projects

* removing some files

* fix ifdef for windows

* fixing windows build issue due to improper header file include

* Automated change: Fix sanity tests

* start

* regenerate-projects

* delete some files

* Automated change: Fix sanity tests

* review comments

* add comment

* Migrating posix event pollers to use new event poller interface

* add inline attributes

* Automated change: Fix sanity tests

* remove ref/unref from iomgr engine closure ad add custom closure types internal to the pollers

* updating time util usage

* use unique_ptrs

* update comments

* Automated change: Fix sanity tests

* review comments

* rename GetPointer to GetVoidPointer

* cleanup

* Automated change: Fix sanity tests

* removing EndpointConfig::Get method

* Automated change: Fix sanity tests

* cleanup

* fix

* fix review comments

* review comments

* cleanup

* update comments

* fix

* cleanup

* update comments

* Automated change: Fix sanity tests

* fix misleading comments

* bug fixes

* fix

* fix

* start

* revert some changes for bug fixes and allow spurious wakeups for poll based poller

* sanity

* fix

* minor fix

* review comments

* fix

* comment

* remove re-defined function

* fix review comments

* fix windows iocp build issue due to removed function

* change Milliseconds return type

* fix

* remove header

* regenerate projects

* fix sanity

* code

* fix sanity

* Automated change: Fix sanity tests

* Forking iomgr internal_errqueue defines for posix event engine

* fix BUILD file

* start

* update

* sanity

* regenerate_projects

* Automated change: Fix sanity tests

* rename

* review comments

* update

* review comments

* Automated change: Fix sanity tests

* fix BUILD

* add no_windows tag

* update

* update

* remove debug statements

* delete unused file

* update

* fix BUILD

* regenerate projects

* update

* fix BUILD

* update

* fix sanity

* minor additions to configure global tcp user timeout values

* cleanup

* fix build syntax

* change poller interface for posix event engine

* update event_poller_posix_test

* fix build error

* Add more unit tests

* windows ee changes

* update comment

* remove unused deps

* fix msan issue

* add comment

* adding rcv lowat helper to socket wrapper

* fix sanity

* review comments

* fix build issue

* fix sanity

* sanity

* iwyu sanity

* fix build

* merge conflict

* Automated change: Fix sanity tests

* update

* update

* fix macos issue

* fix msan and ubsan issues

* fix macos build issue

* comment

* review comments

* remove unused dep

* sanity

* merge conflict

* mac build issue

* regenerate projects

* build issue

* fix typo and address review comments

* review comments

* Automated change: Fix sanity tests

* update

* merge issue

* review comments

* sanity

* fix build issue

* review comments

* add thread annotations

* MacOS fix unused variable

* add some more #endif comments

* missing semi-colon

* Automated change: Fix sanity tests

* sanity

* sanity again

* sanity try again

* sanity again

* try again with no_include pragma

Co-authored-by: Vignesh2208 <Vignesh2208@users.noreply.github.com>
2022-09-26 17:20:17 -07:00
Craig Tiller 93fdc99756
[init] Remove grpc_register_plugin (#30929)
* [init] Remove grpc_register_plugin

* Automated change: Fix sanity tests

* fix

* Automated change: Fix sanity tests

* fix

* fix

* fix

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-09-23 22:08:01 -07:00
Craig Tiller f15ba1ffc7
[tls] Remove support for pthread tls (#31040)
* [tls] Remove support for pthread tls

* fix

* fix

* fix

* lalala

* fix

* fix

* Clean up deployment target changes

* additional clean up of deployment target

* regen podspec for updated file list

* remove destination change

* deployment target override for ios cpp test

* fix?

* fix run test script & update test destination

* [tls] Remove support for pthread tls

* fix

* fix

* fix

* lalala

* fix

* fix

* Clean up deployment target changes

* additional clean up of deployment target

* regen podspec for updated file list

* remove destination change

* deployment target override for ios cpp test

* fix?

* fix run test script & update test destination

* merge

* fix

* final script fix for proper destination & target

* more deployment target fix

* objc ios test script fix

Co-authored-by: Denny C. Dai <dennycd@me.com>
Co-authored-by: dennycd <dennycd@google.com>
2022-09-22 22:39:35 -07:00
Craig Tiller da08fe1d6f
Revert "Remove `include/grpcpp/impl/codegen/client_callback.h` (#31005)" (#31079)
This reverts commit 17f515744f.
2022-09-20 18:58:54 -07:00
Cheng-Yu Chung 0cb5faf8e4
Remove `include/grpcpp/impl/codegen/client_interceptor.h` (#31054)
* Remove `include/grpcpp/impl/codegen/client_interceptor.h`

* Update comment
2022-09-20 14:03:46 -04:00
Cheng-Yu Chung 17f515744f
Remove `include/grpcpp/impl/codegen/client_callback.h` (#31005) 2022-09-20 13:51:55 -04:00
AJ Heller ba67187f20
Derive EventEngine from std::enable_shared_from_this (#31060)
This is an API change required for subsequent work in using EventEngine
shared_ptrs. It has been landed and reverted with other work multiple
times, so I'm landing it independently.
2022-09-19 15:58:45 -07:00
Cheng-Yu Chung 7cb9731e4e
Remove `include/grpcpp/impl/codegen/call_op_set_interface.h` (#30990) 2022-09-16 17:27:50 -04:00
Cheng-Yu Chung bc312c7a43
Remove `include/grpcpp/impl/codegen/call.h` (#31004)
* Remove `include/grpcpp/impl/codegen/call.h`

* Update comment
2022-09-16 17:22:04 -04:00
Cheng-Yu Chung 3236174176
Remove `include/grpcpp/impl/codegen/byte_buffer.h` (#30948)
* Remove `include/grpcpp/impl/codegen/byte_buffer.h`

* Update
2022-09-14 16:47:17 -04:00
Cheng-Yu Chung d07224a13e
Remove `include/grpcpp/impl/codegen/call_hook.h` (#30967) 2022-09-14 16:44:30 -04:00
Cheng-Yu Chung b765b06155
Remove `include/grpcpp/impl/codegen/async_stream.h` (#30941)
* Remove `include/grpcpp/impl/codegen/async_stream.h`

* Fix

* Fix

* Update
2022-09-14 13:40:35 -04:00
Cheng-Yu Chung cb3d7a9e9e
Revert "Revert "Remove `include/grpcpp/impl/codegen/async_unary_call.h`"" (#30955)
* Revert "Revert "Remove `include/grpcpp/impl/codegen/async_unary_call.h` (#30945)" (#30950)"

This reverts commit 0c454fa875.

* Fix
2022-09-13 15:57:15 -04:00
Cheng-Yu Chung 6e57952589
Revert "Revert "Remove `include/grpcpp/impl/codegen/async_generic_service.h` (#30450)" (#30951)" (#30956)
This reverts commit a81b61113c.
2022-09-13 14:45:38 -04:00
Craig Tiller 0c454fa875
Revert "Remove `include/grpcpp/impl/codegen/async_unary_call.h` (#30945)" (#30950)
This reverts commit 7dbc73d4f3.
2022-09-12 16:44:07 -07:00
Craig Tiller a81b61113c
Revert "Remove `include/grpcpp/impl/codegen/async_generic_service.h` (#30450)" (#30951)
This reverts commit c6326bbc75.
2022-09-12 16:43:55 -07:00
Cheng-Yu Chung c6326bbc75
Remove `include/grpcpp/impl/codegen/async_generic_service.h` (#30450)
* Remove `include/grpcpp/impl/codegen/async_generic_service.h`

* Fix test

* Reserve compatibility
2022-09-12 18:19:59 -04:00
Cheng-Yu Chung 7dbc73d4f3
Remove `include/grpcpp/impl/codegen/async_unary_call.h` (#30945) 2022-09-12 18:05:10 -04:00
Vignesh Babu 70dd34b438
Revert "Revert "Modifying iomgr tcp code to use event engine EndpointConfig instead of channel_args"" (#30509)
* Revert "Revert "Modifying iomgr tcp code to use event engine EndpointConfig instead of channel_args (#30028)" (#30495)"

This reverts commit 0b1a8c984b.

* bug fix

* bug fix

* fix sanity
2022-09-01 16:51:17 -07:00
Craig Tiller 6746f670c1
[cleanup] Remove low level counters (#30611)
* [cleanup] Remove low level counters

* clean up code

* Automated change: Fix sanity tests

* fix

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-08-30 21:13:15 -07:00
Vignesh Babu 602c5e8e97
Add a provision to allow specification of separate set of channel args for the channel to grpclb server (#30755)
* Add a provision to allow specification of separate set of channel args for the grpclb channel

* fix asan issue

* review comments

* review comments

* add missing file

* remove unused hdr

* fix sanity

* fix comments

* remove unused hdr
2022-08-29 17:21:46 -07:00
AJ Heller d025c1732f
Revert "Reland: Make GetDefaultEventEngine return a shared_ptr (#30563)" (#30573)
This reverts commit ee7c0a8e4c.
2022-08-12 14:31:56 -07:00
AJ Heller ee7c0a8e4c
Reland: Make GetDefaultEventEngine return a shared_ptr (#30563)
* Reland: "Make GetDefaultEventEngine return a shared_ptr (#30280)"

This reverts commit 45959e7cc1.

* Attempted fix with NoDestruct

* Not a process-wide singleton for the type. Just a NonDestruct

* fix
2022-08-12 08:09:31 -07:00
AJ Heller 45959e7cc1
Revert "Make GetDefaultEventEngine return a shared_ptr (#30280)" (#30558)
This reverts commit 4df74f2b4c.
2022-08-10 18:28:30 -07:00
AJ Heller 4df74f2b4c
Make GetDefaultEventEngine return a shared_ptr (#30280)
This works around valgrind memory leaks by giving EventEngines a fixed
lifetime. We eventually want ref-counted EventEngines internally, so this is
a step in the right direction as well.
2022-08-10 11:32:09 -07:00
Vignesh Babu 0b1a8c984b
Revert "Modifying iomgr tcp code to use event engine EndpointConfig instead of channel_args (#30028)" (#30495)
This reverts commit 2c977a4d98.
2022-08-04 11:35:27 -07:00
Vignesh Babu 2c977a4d98
Modifying iomgr tcp code to use event engine EndpointConfig instead of channel_args (#30028)
* convert tcp code to use EndpointConfig and successfully compile

* regenerate projects

* copying config options used in tcp code to create map backed endpoint configs

* fix minor build issues

* fix includes in tests

* fix some build and test issues

* modifying endpoint config definition from an abstract interface into a concrete implementation

* minor fix

* add unreachable code check

* fix some windows build issues

* fix more build issues

* adding a grpc_tcp_generic_options struct to hold data extracted from EndpointConfig

* code formatting

* simplify

* fix sanity checks

* fix windows issues

* some posix fixes

* disabling copy constructor and copy assignment operator for endpoint config

* fix sanity checks

* fix syntax error

* fix weird formatting

* fix build issue

* fix review comments

* reverting un-necessary change

* remove channel args completely from windows impl since it is unused

* remove unused headers and fix usage in endpoint_pair_windows.cc

* cleanup

* cleanup

* fix some initialization issues

* re-generate projects

* removing some files

* fix ifdef for windows

* fixing windows build issue due to improper header file include

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* review comments

* add comment

* review comments

* rename GetPointer to GetVoidPointer

* cleanup

* Automated change: Fix sanity tests

* removing EndpointConfig::Get method

* Automated change: Fix sanity tests

* minor fix

Co-authored-by: Vignesh2208 <Vignesh2208@users.noreply.github.com>
2022-08-03 13:41:48 -07:00
Craig Tiller f268659bf1
Revert "Revert "[filter-stack] Eliminate flags on initial metadata (#30444)" (#30475)" (#30476)
This reverts commit 4bc69cbe38.
2022-08-03 12:03:07 -07:00
Craig Tiller 4bc69cbe38
Revert "[filter-stack] Eliminate flags on initial metadata (#30444)" (#30475)
This reverts commit cd30b2dda1.
2022-08-02 22:07:54 -07:00
Craig Tiller cd30b2dda1
[filter-stack] Eliminate flags on initial metadata (#30444)
* [filterstack] Eliminate flags on initial metadata

Instead prefer to pass this data in non-encoded metadata.
Needed to fix MetadataMap::Copy to copy non-encoded metadata (not doing so was unintended).
Removed the flags from call_details because there's not been a use for them there for a very long time.

* Automated change: Fix sanity tests

* fix

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-08-02 20:22:35 -07:00
Craig Tiller 254bd7b6f6
[core] Remove GRPC_INITIAL_METADATA_CORKED flag (#30443)
This functionality is entirely implemented in the C++ bindings layer, and so does not need a flag passed down to core (which core already ignores silently).
2022-08-02 09:16:02 -07:00
Esun Kim b37996d50e
Removed GRPC_ERROR_IS_ABSEIL_STATUS (#30267)
* Removed GRPC_ERROR_IS_ABSEIL_STATUS

* Remove error_internal.h
2022-07-14 16:44:48 -07:00
AJ Heller 1076a7d447
Use AnyInvocable in EventEngine APIs (#30220) 2022-07-08 16:25:54 -07:00
AJ Heller 71c0eb090a
Revert "[WIP] Use AnyInvocable in EventEngine APIs (#30208)" (#30219)
This reverts commit dbbf16f07a.
2022-07-06 10:28:48 -07:00
AJ Heller dbbf16f07a
[WIP] Use AnyInvocable in EventEngine APIs (#30208)
This provides a move-only alternative to std::function.

fix oracle and engine factory

fix generate_projects for any_invocable

fix

format & iwyu

Automated change: Fix sanity tests (#30205)

Co-authored-by: drfloob <drfloob@users.noreply.github.com>

Co-authored-by: drfloob <drfloob@users.noreply.github.com>
2022-07-06 10:27:11 -07:00
Ming-Chuan 5202e873ff
BinderTransport: Support Intent URI (#30104)
This commit adds a new overloaded version of `CreateBinderChannel`, that accepts
an intent URI (which should be able to be parsed by
https://developer.android.com/reference/android/content/Intent#parseUri(java.lang.String,%20int) )
for specifying the component to connect to.

Later we will deprecate the old APIs that accepts `package_name`,
`class_name`, and `action_name` separately. Intent URI seems to be a
better and more flexible way to specify a component to connect to.

`grpc.binder.custom_android_intent_action_name` channel arg is deprecated now.
User should use URI to specify custom action instead.
2022-07-06 21:20:01 +08:00
AJ Heller b549e15488
Revert "Add std::shared_ptr support to ChannelArgs, and precondition ChannelArgs with a default EventEngine (#30128)" (#30170)
This reverts commit e28b70a533.
2022-07-01 12:13:39 -07:00
AJ Heller e28b70a533
Add std::shared_ptr support to ChannelArgs, and precondition ChannelArgs with a default EventEngine (#30128)
* [WIP] Precondition ChannelArgs with a default EventEngine

This is a step towards using ChannelArgs as the primary means of
accessing EventEngine instances in gRPC-core. If not explicitly provided
by the application, a default EventEngine will populated into
ChannelArgs during preconditioning.

This is not a final state, we may want to enable ref-counting here
instead of using raw pointers. And a refactoring is in order to enable
GetObject instead of the more verbose
GetPointer<EventEngine>(GRPC_ARG_EVENT_ENGINE).

* Refactor ChannelArgs::GetObject to support non-conforming classes

This allows us to not expose `ChannelArgName` in the public interface.

* Add std::shared_ptr to ChannelArgs; Add EventEngine specialization

* subchannel fix; cleanup

* replace GetSharedPtr with overloads of GetObjectRef

* Automated change: Fix sanity tests

* fix the fixer

* fix raw pointer retrieval from stored shared_ptr

* Make GetObjectRef<EventEngine> work (not general to shared_ptr)

* enable shared_ptr ChannelArg support for shared_from_this

* use new EventEngines for tests (not the default global)

* Automated change: Fix sanity tests

Co-authored-by: drfloob <drfloob@users.noreply.github.com>
2022-07-01 09:15:57 -07:00
Craig Tiller eb5ae61470
Reland (again) bytestream removal (#29987)
* Revert "Revert "Reland bytestream removal (#29911)" (#29964)"

This reverts commit e6c6840db3.

* initial fc fuzzer

* fixes

* add rq to fc fuzzer

* fleshing things out

* Automated change: Fix sanity tests

* cleanup

* send with payload

* ensure if no reader no flow control tokens are granted

* remove some public methods

* remove bogus benchmarks

* account for pending size

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* better logic

* Automated change: Fix sanity tests

* fix

* fixes

* fuzz pending size

* Automated change: Fix sanity tests

* fix

* Automated change: Fix sanity tests

* huh

* increase too short timeout

* review feedback

* review feedback

* fix u32 overflow

* fix

* robustness fixes for channelz_servicer_test

* fix

* Automated change: Fix sanity tests

* fix

* fix

* fix

* Automated change: Fix sanity tests

* dont send window updates if read closed

* Automated change: Fix sanity tests

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-06-27 21:21:23 -07:00
Craig Tiller 8249bb97e2
[event_engine] Fix initialization (#30107)
* [event_engine] Fix initialization

* Automated change: Fix sanity tests

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-06-24 13:37:49 -07:00
Hannah Shi 1394287517
Fix 'This function declaration is not a prototype' warning in Xcode (#29871) 2022-06-23 15:25:22 -07:00
Esun Kim c66c362191
Reland "Enable GRPC_ERROR_IS_ABSEIL_STATUS" (#30047)
* Revert "Revert "Enable GRPC_ERROR_IS_ABSEIL_STATUS (#29869)" (#30031)"

This reverts commit 2d0d1775a9.

* Fix the test
2022-06-23 12:38:19 -07:00
Craig Tiller d9f64437b0
[event_engine] Use durations for scheduling things (#30023)
* [event_engine] Use durations for scheduling things

* fix

* Automated change: Fix sanity tests

* run-after

* fix

* Automated change: Fix sanity tests

* rename

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-06-16 09:39:31 -07:00
Esun Kim 2d0d1775a9
Revert "Enable GRPC_ERROR_IS_ABSEIL_STATUS (#29869)" (#30031)
This reverts commit c6058b5e6b.
2022-06-15 21:41:55 -07:00
Esun Kim c6058b5e6b
Enable GRPC_ERROR_IS_ABSEIL_STATUS (#29869)
* Enable GRPC_ERROR_IS_ABSEIL_STATUS

* Sanitize

* Fix ServerRequestCallTest
2022-06-15 15:06:15 -07:00
Yash Tibrewal b9aec4def7
Status: Add comment about const ref parameters (#29973) 2022-06-13 15:31:03 -07:00
apolcyn e6c6840db3
Revert "Reland bytestream removal (#29911)" (#29964)
* Revert "Reland bytestream removal (#29911)"

This reverts commit 98dcba2807.

* Automated change: Fix sanity tests
2022-06-09 08:51:06 -07:00
Vignesh Babu c6811f0fb7
Revert "Revert "EventEngine::RunAt - Subchannel connection retries"" (#29905)
* Revert "Revert "EventEngine::RunAt - Subchannel connection retries (#29744)" (#29899)"

This reverts commit d89d42d6a0.

* fix bugs

* add missing include

* fix formatting

* fix unused headers

* adding grpc_init/grpc_shutdown to subchannel ctor/dtor
2022-06-07 16:01:38 -07:00
Craig Tiller a5b08d7a77
[iwyu] Improve iwyu for public headers (#29834)
* [iwyu] Improve iwyu for public headers

* Automated change: Fix sanity tests

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-06-07 10:31:15 -07:00
Craig Tiller 98dcba2807
Reland bytestream removal (#29911)
* Revert "Revert "Revert "Revert "[transport] Remove ByteStream (#29637)" (#29890)" (#29894)" (#29910)"

This reverts commit 713a1581d5.

* fix
2022-06-05 18:42:28 -07:00
Craig Tiller 713a1581d5
Revert "Revert "Revert "[transport] Remove ByteStream (#29637)" (#29890)" (#29894)" (#29910)
This reverts commit 93cdc8b77e.
2022-06-05 11:01:48 -07:00
Craig Tiller 93cdc8b77e
Revert "Revert "[transport] Remove ByteStream (#29637)" (#29890)" (#29894)
* Revert "Revert "[transport] Remove ByteStream (#29637)" (#29890)"

This reverts commit d53986657f.

* Automated change: Fix sanity tests

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-06-04 15:51:16 -07:00
Vignesh Babu 25c76e7db6
Update asylo build config to include missing features (#29886) 2022-06-03 11:42:20 -07:00
Vignesh Babu d89d42d6a0
Revert "EventEngine::RunAt - Subchannel connection retries (#29744)" (#29899)
This reverts commit f38ef257d2.
2022-06-03 10:07:35 -07:00
Craig Tiller d53986657f
Revert "[transport] Remove ByteStream (#29637)" (#29890)
This reverts commit aacf0e252b.
2022-06-02 19:34:49 -07:00
AJ Heller f38ef257d2
EventEngine::RunAt - Subchannel connection retries (#29744)
* EventEngine::RunAt - Subchannel connection retries

* Fix refcounting on retry timer reset

* Automated change: Fix sanity tests

* fix autofixer's goof

* Squashed commit of the following:

commit d4aed9e615
Author: Craig Tiller <ctiller@google.com>
Date:   Fri May 20 12:58:47 2022 -0700

    Revert "[c++14] Remove Capture type (#29327)" (#29748)

    This reverts commit 944c0b2ce9.

commit 965feb5726
Author: apolcyn <apolcyn@google.com>
Date:   Fri May 20 12:45:33 2022 -0700

    xds: Remove aggregate and logical dns clusters env var guard (#29742)

    * Remove aggregate and logical dns clusters env var guard

commit d5c8bbce51
Author: Sergii Tkachenko <sergiitk@google.com>
Date:   Fri May 20 10:44:59 2022 -0700

    xds-k8s: Do not recommend enabling mesh certs by default (#29743)

    This should covered separately per this note:

    > For more details, and for the setup for security tests, see
    ["Setting up Traffic Director service security with proxyless gRPC"](https://cloud.google.com/traffic-director/docs/security-proxyless-setup)
     user guide.

commit 1df32ca680
Author: AJ Heller <hork@google.com>
Date:   Fri May 20 10:18:53 2022 -0700

    Delete the EventEngine-driven iomgr implementation (#29654)

    This code is not compiled by default and has fallen out of sync with the
    rest of the codebase. There's a good chance it won't be used, given our
    current work to use an iomgr-drive EventEngine instead.

    This code will continue to live in git history, should we need to bring
    pieces of it back.

commit 944c0b2ce9
Author: Craig Tiller <ctiller@google.com>
Date:   Fri May 20 09:56:23 2022 -0700

    [c++14] Remove Capture type (#29327)

    * Remove Capture type

    * Automated change: Fix sanity tests

    * update

    Co-authored-by: ctiller <ctiller@users.noreply.github.com>

commit fd744e081d
Author: Esun Kim <veblush@google.com>
Date:   Fri May 20 08:54:33 2022 -0700

    Removed manylinux2010 python artifacts (#29734)

    * Removed manylinux2010 python artifacts

    * Fix

    * Fix2

    * Added cp37 to presubmit test for distribtest relying on cp37 artifacts

commit 5051566b27
Author: Jan Tattermusch <jtattermusch@google.com>
Date:   Fri May 20 11:07:04 2022 +0200

    Enable remote cache for selected ObjC bazel tests. (#29731)

    * enable remote cache for ObjC bazel tests

    * add bazel RBE cache for mac ios bazel builds

* release lock before unreffing

* rm some manual WeakRef-counting

* comments

* verbiage

Co-authored-by: drfloob <drfloob@users.noreply.github.com>
Co-authored-by: Vignesh Babu <vigneshbabu@google.com>
2022-06-02 16:12:12 -07:00
Craig Tiller aacf0e252b
[transport] Remove ByteStream (#29637)
* A starter SliceBuffer implementation

* Add comments and fix sanity checks

* Minor fixes

* more minor fixes

* Addressing review comments and adding a slice_buffer_test

* fix sanity checks

* regenerate projects

* fixing undefined function error

* reverting changes from memory_allocator.cc and adding them to src/core/lib/slice/slice_buffer.cc to allow memory allocator lib to build correctly

* fix sanity checks

* adding an open source slice definition

* regnerate projects

* fix asan error

* Automated change: Fix sanity tests

* addressing review comments

* fix sanity checks

* regenerate projects

* update

* fix sanity checks

* Converting slice buffer to retarin ownership of the underlying ctype

* [slice_buffer] Introduce grpc_core::SliceBuffer

* add test

* Automated change: Fix sanity tests

* [byte-stream] Delete ByteStream

* progress

* progress

* missing files

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* progress

* sanity

* progress

* progress

* progress

* progress

* progress

* progress

* progress

* progress

* progress

* iwyu

* fix

* progress

* fix

* fix

* progress

* code compiles

* fix?

* bogus assert

* Automated change: Fix sanity tests

* fix

* fix

* fix?

* fix

* fix

* better expression of function

* fix?

* Automated change: Fix sanity tests

* x

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* add fullstack test without retry filter

* debug

* missing files

* gc

* fix h2_full_no_retry

* remove headers

* fixes

* Automated change: Fix sanity tests

* x

* fix

* fix

* fix

* progress

* x

* tear apart flow control

* continue itnegration

* fix

* Automated change: Fix sanity tests

* fix

* fix

* Automated change: Fix sanity tests

* cleanup

* Automated change: Fix sanity tests

* fix

* x

* x

* Revert "debug"

This reverts commit 0120a94492.

* undo debug

* fix

* Automated change: Fix sanity tests

* better inproc

* fixes

* iwyu

* Automated change: Fix sanity tests

* fix

* fix

* fix

* fix

* fix stalled streams

* properly handle non-terminal trailers

* fix test

* fix channelz test

* fix subchannel_stream_client

* fix server load reporting

* review feedback

* review feedback

* review feedback

* review feedback

* Automated change: Fix sanity tests

* remove compression test from python

* fix

* x

* Automated change: Fix sanity tests

* iwyu fix

* Revert "remove compression test from python"

This reverts commit 5fe0512077.

* cripple python tests

* Revert "fix"

This reverts commit 6df476b22f.

* Automated change: Fix sanity tests

* review feedback

* Automated change: Fix sanity tests

* fix

* fix

* fix

* ugh

Co-authored-by: Vignesh Babu <vigneshbabu@google.com>
Co-authored-by: Vignesh2208 <Vignesh2208@users.noreply.github.com>
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-06-02 16:04:32 -07:00
Mark D. Roth 65a7ce3f04
Revert "Revert "server: add method to expose authority seen by server (#29768)" (#29806)" (#29807)
This reverts commit e39e943529.
2022-05-31 14:15:45 -07:00
Mark D. Roth e39e943529
Revert "server: add method to expose authority seen by server (#29768)" (#29806)
This reverts commit 449adce98b.
2022-05-26 16:15:14 -07:00
Mark D. Roth 449adce98b
server: add method to expose authority seen by server (#29768)
* server: add method to expose authority seen by server

* Automated change: Fix sanity tests

Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2022-05-26 15:03:28 -07:00
Jérôme Duval 7251dd566d
Initial support for Haiku (#27793)
* Detect Haiku in core/lib/iomgr

* Detect Haiku in include/grpc/impl/codegen

* CMake: Haiku doesn't need additional libraries

* CMake: Haiku doesn't need additional libraries

* Sanitize: word wrap

Co-authored-by: AJ Heller <hork@google.com>
2022-05-23 16:40:26 -07:00
Thomas Klausner 06377249e3
Add NetBSD support (Community-supported) (#29542)
* Add NetBSD support

* Add NetBSD to platforms list as 'Community Supported'

* Add contact email for issues with the NetBSD port.
2022-05-23 13:41:52 -07:00
Nicolas Noble 667691c499
server: per-rpc backend metric reporting (#29621)
Users can now report per-rpc metrics from servers to clients.
2022-05-20 15:54:30 -07:00
AJ Heller 1df32ca680
Delete the EventEngine-driven iomgr implementation (#29654)
This code is not compiled by default and has fallen out of sync with the
rest of the codebase. There's a good chance it won't be used, given our
current work to use an iomgr-drive EventEngine instead.

This code will continue to live in git history, should we need to bring
pieces of it back.
2022-05-20 10:18:53 -07:00
Vignesh Babu 64c1e8a784
Fix undefined reference errors in asylo builds (#29733) 2022-05-19 11:27:23 -07:00
Craig Tiller 0f9d024fec
[iwyu] c++ (#29721)
* Revert "Revert "[iwyu] grpc++ (#29610)" (#29720)"

This reverts commit 0642bc213d.

* fixup status_code_enum import issue

* fix

* Automated change: Fix sanity tests

* import fixes

* fix import

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-05-19 07:34:48 -07:00
AJ Heller 93e6894485
Revert "Fix gRPC C++ init bug (#29689)" (#29701)
This reverts commit de613e3a9e.
2022-05-16 10:48:50 -07:00
AJ Heller 250b8d2dae
IomgrEventEngine Redux (#29693)
* Revert "Revert "IomgrEventEngine (#29616)" (#29692)"

This reverts commit 246d13e392.

* temporarily disable EE usage to coordinate landing

* spelling
2022-05-16 10:32:07 -07:00
Esun Kim de613e3a9e
Fix gRPC C++ init bug (#29689) 2022-05-14 13:56:08 -07:00
AJ Heller 246d13e392
Revert "IomgrEventEngine (#29616)" (#29692)
This reverts commit 7f09b98201.
2022-05-13 16:06:19 -07:00
AJ Heller 7f09b98201
IomgrEventEngine (#29616) 2022-05-13 13:12:05 -07:00
Vignesh Babu 1494b1ef26
A starter slice buffer implementation to unblock event engine endpoints (#29367)
* A starter SliceBuffer implementation

* Add comments and fix sanity checks

* Minor fixes

* more minor fixes

* Addressing review comments and adding a slice_buffer_test

* fix sanity checks

* regenerate projects

* fixing undefined function error

* reverting changes from memory_allocator.cc and adding them to src/core/lib/slice/slice_buffer.cc to allow memory allocator lib to build correctly

* fix sanity checks

* adding an open source slice definition

* regnerate projects

* fix asan error

* Automated change: Fix sanity tests

* addressing review comments

* fix sanity checks

* regenerate projects

* update

* fix sanity checks

* Converting slice buffer to retarin ownership of the underlying ctype

* fix nits

Co-authored-by: Vignesh2208 <Vignesh2208@users.noreply.github.com>
2022-05-11 10:32:32 -05:00
Vignesh Babu 941e21b3b3
Event engine endpoint read and write API changes (#29450)
* 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
2022-05-10 10:30:47 -05:00
Craig Tiller f56282a6b6
[iwyu] surface (#29588)
* [iwyu] chttp2

* fix

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* fwd file

* fix

* fix

* Automated change: Fix sanity tests

* fix

* [iwyu] surface

* [iwyu] surface

* add no-return hint

* fix

* Automated change: Fix sanity tests

* Add flag

* sweep1

* fixes

* speedup

* fixes

* fixes

* fixes

* fix

* fix

* fix

* fix

* Automated change: Fix sanity tests

* fix

* fic

* x

* ugh

* fix

* fix

* Automated change: Fix sanity tests

* fix?

* fixes

* fix

* Automated change: Fix sanity tests

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-05-09 15:56:44 -07:00
Esun Kim c20f10310c
Added GRPC_MUST_USE_RESULT_WHEN_USE_STRICT_WARNING to grpc::Status (#29363)
* Added GRPC_MUST_USE_RESULT_WHEN_USE_STRICT_WARNING to grpc::Status

* Added Comment
2022-05-05 12:07:07 -07:00
AJ Heller 786cb14140
Rename LookupTaskHandle internal variable (#29535)
All handle types are now the same internally, which makes generic code a
bit easier to write.
2022-05-03 10:29:20 -07:00
ZhenLian 2badafbc4d
Expose NoOpCertificateVerifier to C++ (#29322)
* expose NoOpCertificateVerifier to C+
2022-04-27 13:46:01 -07:00
ZhenLian bba7568646
Update Documentation for AuthMetadataProcessor (#28985)
* update documentation for auth metadata processor
2022-04-27 13:42:16 -07:00
AJ Heller 21c6f8d757
Reland: Add DNS Server address override to the EventEngine API (#29493)
This reverts commit fb4b6c7776.
2022-04-26 11:02:59 -07:00
AJ Heller fb4b6c7776
Revert "Add DNS Server address override to the EventEngine API (#29485)" (#29492)
This reverts commit c462bb8d48.
2022-04-25 14:21:58 -07:00
AJ Heller c462bb8d48
Add DNS Server address override to the EventEngine API (#29485)
* Add DNS Server address override to the EventEngine API

* instead, override authority in GetDNSResolver; other fixes

* feedback

* constrain dns_server format to "IP:port"
2022-04-22 15:11:15 -07:00
chrisse74 5968cb62c8
Fix deprecated inheritance of std::iterator (#28212) 2022-04-22 13:25:04 -07:00
Vignesh Babu 6f3d7ccdb1
Modifying slice buffer add to merge two contiguous slices sharing the same refcount object (#29466)
* Modifying slice buffer add to merge two contiguous slices sharing the same refcount object

* sanity checks

* updating test

* fixing grpc_slice_buffer_add API misuse in proto utils

* fix sanity checks

* minor fix
2022-04-22 11:54:41 -07:00
Mark D. Roth 60c56f7d01
Second attempt: implement ORCA RPC service for OOB backend metric reporting (#29352)
* Revert "Revert "ORCA: implement ORCA RPC service for OOB backend metric reporting (#29215)" (#29351)"

This reverts commit 71b355624f.

* move ORCA service to its own BUILD rule
2022-04-08 11:12:18 -07:00
Mark D. Roth 71b355624f
Revert "ORCA: implement ORCA RPC service for OOB backend metric reporting (#29215)" (#29351)
This reverts commit 6d6380de58.
2022-04-07 16:15:49 -07:00
Mark D. Roth 6d6380de58
ORCA: implement ORCA RPC service for OOB backend metric reporting (#29215)
* ORCA: implement ORCA RPC service for OOB backend metric reporting

* fix unused parameter error

* gen_upb_api

* add missing build deps

* increase test timing fudge factor

* add missing copyright header

* buildifier

* don't register as a generic service

* report interval defaults to min interval

* don't regenerate the response proto unless something changed

* use INTERNAL for proto parsing failure

* use absl::Duration in public API
2022-04-07 07:58:58 -07:00
Craig Tiller 1dff2dc660
We must always post a recv initial metadata (#29145)
* We must always post a recv initial metadata

* remove spurious change
2022-03-17 17:28:14 -07:00
Yash Tibrewal a1620ce2bd
HTTP2: Don't throttle pings from the server (#29053)
* HTTP2: Don't throttle pings from the server

* Reviewer comments
2022-03-09 17:12:03 -08:00
Craig Tiller fe913387da
Remove idempotent/cacheable requests (#28922)
* Remove idempotent/cacheable requests

* more cleanup

* bump core version

* fix

* fix

* fix

* review feedback

* fixes

* fix

* remove more

* objc

* fix

* fix

* fix

* scrub

* Modify XdsRbacTests

Co-authored-by: Yash Tibrewal <yashkt@google.com>
2022-03-04 14:42:59 -08:00
Mark D. Roth 6d61efe27c
retry: update comment to indicate transparent retries are implemented (#29003) 2022-03-02 14:59:18 -08:00
Craig Tiller 33ec154cee
Revert "Enable GRPC_ERROR_IS_ABSEIL_STATUS (#28898)" (#28939)
This reverts commit f00e842609.
2022-02-21 20:42:02 -08:00
AJ Heller 85189b24bb
Reintroduce: Avoid fully qualifying namespaces (and add check) (#28917)
Based on a handful of https://abseil.io/tips, it's generally advised to
only fully-qualify namespaces when in a `using` statement, or when it's
otherwise required for compilation. In all other cases, the general
recommendation is to not fully-qualify.

This change fixes most `grpc.*` namespace uses. There are potential
challenges in trying to make blanket changes to non-gRPC namespace uses,
such as `::testing`, since there is also a `grpc::testing` namespace.
2022-02-18 16:18:54 -08:00
Esun Kim f00e842609
Enable GRPC_ERROR_IS_ABSEIL_STATUS (#28898)
* Python support

* Fix Ruby errors

* Eanble GRPC_ERROR_IS_ABSEIL_STATUS

* Remove use_abseil_status=true build
2022-02-18 08:48:36 -08:00
AJ Heller e72a5fe5dd
Revert "Avoid fully qualifying namespaces (and add check) (#28901)" (#28916)
This reverts commit fc7314c701.
2022-02-17 17:56:19 -08:00
AJ Heller fc7314c701
Avoid fully qualifying namespaces (and add check) (#28901)
Based on a handful of https://abseil.io/tips, it's generally advised to
only fully-qualify namespaces when in a `using` statement, or when it's
otherwise required for compilation. In all other cases, the general
recommendation is to not fully-qualify.

This change fixes most `grpc.*` namespace uses. There are potential
challenges in trying to make blanket changes to non-gRPC namespace uses,
such as `::testing`, since there is also a `grpc::testing` namespace.
2022-02-17 16:23:25 -08:00
Ashitha Santhosh 1fee3d72be
remove SDK term from gRPC authz (#28843) 2022-02-14 11:44:15 -08:00
Ming-Chuan 1c8073828c
Always define GPR_SUPPORT_BINDER_TRANSPORT on Android (#28822)
We previously have this restriction because some code does not compile
with older NDK version. Now the binder transport implementation loads
the library and resolves symbols at runtime so we don't need the
compile time restriction anymore (and in some case it is overly
restrictive)

Later we might consider remove the GPR_SUPPORT_BINDER_TRANSPORT symbol
and simply use GPR_ANDROID, once we become sure that binder transport
will always be available on Android at compile time.
2022-02-14 15:43:30 +08:00
yihuaz b458db9246
Eliminate gRPC insecure build (#25586)
* force submit

* fix test error

* remove is_client from local tsi and its callsites

* fix too_many_pings_test

* add missing dep
2022-02-10 11:17:18 -08:00
Esun Kim 342cb4457c
Added a temporary trap to prevent Abseil-Status breakages. (#28766)
* Added a new trap to prevent build errors with use_abseil_status enabled

* Fix build errors.
2022-02-03 14:47:04 -08:00
Nikolai Semenov 7b8fb43b33
WriteOptions::clear_write_through method (#26774)
* Add WriteOptions::clear_write_through method

* Rearrange WriteOptions methods in a logical manner
2022-01-31 18:36:46 -08:00
Tamir Duberstein 5c474b0c84
Relocate shared EventEngine APIs (#28721)
Partially collapse `event_engine_factory.cc` into `event_engine.cc`. Add a
new function `DefaultEventEngineFactory` which is used to set a default
event engine factory at link time, separate from the factory that can be
set at run time. Implemenet this function in
`default_event_engine_factory.cc`.

This allows alternative default event engine factories to be implemented
without requiring the duplication of the implementations of
`SetDefaultEventEngineFactory`, `CreateEventEngine`, and
`GetDefaultEventEngine`.
2022-01-28 10:00:54 -08:00
AJ Heller 5dfeec7a7e
Update docs for ServerAsyncResponseWriter::Finish object lifetimes (#28290)
Fixes #28239
2022-01-26 20:43:44 -08:00
krestofur 1cdcd88fb1
Add experimental API for CRL checking support to gRPC C++ TlsCredentials (#28407) 2022-01-26 20:23:48 -08:00
Craig Tiller 74a2cb6e2b
Revert "Revert "Reland slice changes (#28601)" (#28615)" (#28624)
* Revert "Revert "Reland slice changes (#28601)" (#28615)"

This reverts commit 939bbfc336.

* Change random seed back to nanoseconds
2022-01-20 12:47:33 -08:00
Mark D. Roth 881da3e941
core: improve documentation for GRPC_ARG_DNS_ENABLE_SRV_QUERIES (#28634) 2022-01-20 09:26:19 -08:00
Craig Tiller 939bbfc336
Revert "Reland slice changes (#28601)" (#28615)
This reverts commit b33e0d40af.
2022-01-19 09:40:19 -08:00
Vignesh Babu aeea02fab8
TLS Session Keys export for GRPC C++ (#26812)
* Adding TLS Key export logic to core and c++ wrappers

* Adding and end2end cpp tls key export test and updating broken test due to interface changes

* regenerate projects

* updating tls key export core logic with addition of APIs to grpc_security.h

* undoing changes to tls_security_connector_test

* regenerate projects

* changing the logging format enum name as per GRFC comments

* regenerate projects

* removing some commented code

* updating changes as per review comments

* adding GRPCAPI annotations to functions defined in grpc_security.h

* regenerate projects

* fixed some code styling issues

* removing grpc_security.h include from tls_credentials_options.h

* updating files as per review comments

* minor fixes

* moving some code around

* removing key log format from tls session key log config and converting it to a simple string

* regenerate projects

* fixing mistakes in recent merge with master

* regenerate projects

* regenerate projects

* fixing some distrib and snity errors

* fixing formatting errors

* fixing more sanity checks and raising supported openssl versions to 1.1.1

* updating min supported openssl version to 1.1.1

* updating min supported openssl version in tls_key_export_test

* updating test to fix incorrect vector initialization

* updating as per latest comments

* fixing sanity checks

* addressing review comments

* fixing sanity checks

* fixed c++ comment style

* Automated change: Fix sanity tests

* fixing review comments

Co-authored-by: Vignesh2208 <Vignesh2208@users.noreply.github.com>
2022-01-18 14:44:55 -08:00
Craig Tiller b33e0d40af
Reland slice changes (#28601)
* Revert "Revert "Eliminate slice interning (#28363)" (#28598)"

This reverts commit 03bf699600.

* fix?
2022-01-18 09:29:49 -08:00
Jan Tattermusch 03bf699600
Revert "Eliminate slice interning (#28363)" (#28598)
This reverts commit 6703186b7a.
2022-01-18 15:44:18 +01:00
Ming-Chuan 93733de253
Add SameSignatureSecurityPolicy for binder transport (#27816)
Tested signing example server and example client APKs with different
debug key, worked as intended.
2022-01-18 15:01:01 +08:00
Craig Tiller 6703186b7a
Eliminate slice interning (#28363)
Eliminate slice interning, and structures in slices to support it.
Reduces grpc_slice_refcount from 40 bytes (+ a required 8 bytes elsewhere) to 16 bytes.
Removes a pointer dereference for every slice ref/unref.

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-01-17 20:25:45 -08:00
Ming-Chuan 97b87da470
Revert "Revert "[BinderTransport] Allow finding Java class using custom class finder (#28348)" (#28496)" (#28508)
* Revert "Revert "[BinderTransport] Allow finding Java class using custom class finder (#28348)" (#28496)"

This reverts commit ecf6a7fa95.

* Add missing include directives
2022-01-11 01:21:45 +08:00
Alisha Nanda ecf6a7fa95
Revert "[BinderTransport] Allow finding Java class using custom class finder (#28348)" (#28496)
This reverts commit 75ede8df91.
2022-01-07 09:56:42 -08:00
Ming-Chuan 75ede8df91
[BinderTransport] Allow finding Java class using custom class finder (#28348)
In some some situation it is not feasible to invoke
`InitializeBinderChannelJavaClass` in non-native threads.
And the intended way to find Java class is through class loader cached
at program initialization.

This commit adds a new API that accepts a class finder from user and
uses the function to find and cache binder transport Java util class.
2022-01-07 16:48:17 +08:00
krestofur 7759632a2d
Add CRL checking to gRPC Core (#28418) 2022-01-05 14:28:19 -08:00
Vignesh Babu 24778bf8ea
Revert "Enable CRL checking in gRPC core (#26287)" (#28416)
This reverts commit 7d8c9ae890.
2021-12-23 13:20:31 -08:00
krestofur 7d8c9ae890
Enable CRL checking in gRPC core (#26287)
* enable crl checking in gRPC C core
2021-12-22 13:24:20 -08:00
Craig Tiller 264c321d83
Move compression related metadata to the new system (#28223)
* Eliminate most of grpc_message metadata handling

* Eliminate most of host metadata handling

* Remove more callouts without fixing code

* fiiixes

* typo

* Automated change: Fix sanity tests

* try-shrink

* Automated change: Fix sanity tests

* size tweaks

* less tricks

* deunique

* commonize

* commonize

* Automated change: Fix sanity tests

* size tuning, fixes

* Automated change: Fix sanity tests

* fix

* size tuning, fixes

* remove constexpr

* fix

* reuse code

* fix

* tweak code

* more tweaks

* tell no lies

* fixes

* fixes

* Automated change: Fix sanity tests

* fix

* fix

* fix

* fix

* fix?

* fix binder

* fix

* fix

* fixes

* Automated change: Fix sanity tests

* fix

* initial refactoring

* optimize status encoding

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* content-type

* Automated change: Fix sanity tests

* clang-format

* fix

* Move colon prefixed metadata

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* try to fix windows failure

* try and scale sizes better

* ambiguity fix?

* wip metadatavalueasslice

* Fix status code for resource exhaustion

* Revert "Revert "Move a bunch of slice typed metadata to new system (#28107)" (#28208)"

This reverts commit 7717587063.

* fix test

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* slice helper

* x

* noinline

* try and scale sizes better

* Automated change: Fix sanity tests

* fixes

* fix

* fix

* fixes

* fix build

* fix overflow

* progress

* Automated change: Fix sanity tests

* fix

* initial work

* progress

* fix

* fix

* Automated change: Fix sanity tests

* progress

* fix

* fix

* fix

* Automated change: Fix sanity tests

* fix

* compressor for path/authority

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* legalize

* legalize

* status-enc

* fmt

* fix

* fix

* fix

* fix

* fix/opt

* fix

* fix

* fix

* fix

* Automated change: Fix sanity tests

* fix

* comment

* fmt

* remove arg

* Automated change: Fix sanity tests

* remove name

* Automated change: Fix sanity tests

* add specialized encoders for compression metadata

* review feedback

* fix

* missoing files

* Small improvement in memory usage and performance

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* Fix caching

* Automated change: Fix sanity tests

* fix crash in alts

* default everything

* Automated change: Fix sanity tests

* review feedback

* fixes

* fixes

* fixes

* Automated change: Fix sanity tests

* speedup

* fix

* fix

* fixes

* fixes

* fixes

* Automated change: Fix sanity tests

* fix

* remove debug code

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-12-15 15:47:56 -08:00
Yash Tibrewal 3689072979
xDS: Add graceful shutdown for old connections on listener resource update (#28154)
* xDS: Add graceful shutdown for old connections on listener resource update

* Add TODOs for review

* Reviewer comments

* Reviewer comments

* Fix merge

* Fix comment

* s/GRPC_ARG_DRAIN_GRACE_TIME_MS/GRPC_ARG_SERVER_CONFIG_CHANGE_DRAIN_GRACE_TIME_MS
2021-12-02 15:42:47 -08:00
Yash Tibrewal 50a207ee9c
Promote ClientContext::set_wait_foor_ready to be non-experimental (#28247) 2021-12-01 18:57:41 -08:00
Ashitha Santhosh 1290364374
Plumb subject field and add to authz flow. (#27615)
* Plumb subject field and add to authz flow.

* formatting

* Test on empty principal

* resolving comments

* resolving comment

* update subject check in test
2021-11-29 17:04:44 -08:00
Ming-Chuan 355a324cae
Remove extra ';' after member function definition (#28038)
Some user of gRPC library have [-Werror,-Wextra-semi] set and this extra
';' makes the code uncompilable
2021-11-15 09:45:45 -08:00
Craig Tiller a629c9a03e
Reland resource quota work (#28017)
* Check if memory owner available prior to polling it

The transport may drop the memory owner during its destruction sequence

* tcp_fix

* Revert "Revert "New resource quota integration (#27643)" (#28014)"

This reverts commit 0ea2c37263.

* clang-format

* fix-path

* fix
2021-11-15 08:23:51 -08:00
Craig Tiller 0ea2c37263
Revert "New resource quota integration (#27643)" (#28014)
This reverts commit 39f0877d25.
2021-11-11 14:26:19 -08:00
Craig Tiller 39f0877d25
New resource quota integration (#27643)
* new resource quota integration

* Automated change: Fix sanity tests

* fix

* fix

* fixes

* fixes

* fixes

* Automated change: Fix sanity tests

* fixes

* fixes

* Automated change: Fix sanity tests

* fixes

* fix

* fixes

* windows-fix

* fixes

* fixes

* fix

* fix-asan

* banned

* banned

* fixes

* clang-tidy-fix

* Automated change: Fix sanity tests

* fix-cronet

* review feedback

* review feedback

* Automated change: Fix sanity tests

* fixes

* bug fix

* fixes

* compile fix

* exclude megabyte size payloads from 1byte tests

* windows fix

* start moving ios

* keep moving windows

* Get windows compilation working.

* Automated change: Fix sanity tests

* better

* fixes

* remove slice buffer from memory_allocator.h

* Revert "remove slice buffer from memory_allocator.h"

This reverts commit 234a63b6e3.

* ugh

* #fixtests

* pthread tls fixes

* Automated change: Fix sanity tests

* fixfixfix

* xxx

* add reset

* review feedback

* fix

* fix

* fixes

* fix

* mac progress

* cpp-impl-of

* rename ptr

* Automated change: Fix sanity tests

* memory-owner-is-a-memory-allocator

* fixes

* fix

* fix from prod

* fix

* Fix issue leading to bad pointers being returned on Windows.

* Automated change: Fix sanity tests

* fix multislice bug

* argh

* hyrums law fixes

* hyrums law fixes

* clang-format

* hyrums law fixes

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-11-10 22:53:04 -08:00
ZhenLian 2e14f6fa70
Support Custom Post-handshake Verification in TlsCredentials (#25631)
* custom verification refactoring - post-handshake verification
2021-11-10 13:45:52 -08:00
AJ Heller 39adc01a57
Reintroduce the EventEngine default factory (#27920)
* Reintroduce the EventEngine default factory

An application can provide an EventEngine factory function that allows
gRPC internals to create EventEngines as needed. This factory would be
used when no EventEngine is provided for some given channel or server,
and where an EventEngine otherwise could not be provided by the
application. Note that there currently is no API to provide an
EventEngine per channel or per server.

I've also deleted some previous iterations on global EventEngine and
EventEngine factory ideas. This new code lives in a public API, and
coexists with iomgr instead of being isolated to an EventEngine-specific
iomgr implementation.

* add proper namespaces, and fix description

* put factory functions in their own file (for replaceability)

* add synchronization

* generate_projects.sh

* extract event_engine_base and event_engine_factory targets

Also separate iomgr/event_engine files in the BUILD, with comments

* gpr_platform

* move all EE factory declarations to event_engine_base

Makes internal hackery easier.

* add missing deps

* reorder dep alphabetically

* comment style change
2021-11-09 10:46:51 -08:00
AJ Heller 83868b695e
Assert Android API >= v21 (#27943)
* Assert Android API >= v21

This precedes a change that would otherwise break on older Android APIs,
but in a more obvious way.

* error if __ANDROID_API__ is not defined

* update all Andriod minSdkVersions to 21

* csharp experimental: android-19 to 21
2021-11-05 19:04:05 -07:00
Esun Kim f4c18944e2
Early exit BackUp() on count == 0 (#27946) 2021-11-05 10:18:49 -07:00
Ming-Chuan 1777ddf3c3
Add an experimental binder transport API for pre-finding Java class (#27939)
Due to limitation of JVM, when user want to create binder channel in
threads created in unmanaged native code, they will need to call this
new API first to make sure Java helper classes can correctly be found.

Unused code in jni_utils.cc are also cleaned up in this commit
2021-11-05 16:01:02 +08:00
Ming-Chuan 5c0df85ea8
[BinderTransport] Avoid depending on NdkBinder at compile time (#27912)
* [BinderTransport] Avoid depending on NdkBinder at compile time

We would like to make it possible to use BinderTransport in a APK that
has min sdk version lower than 29 (NdkBinder was introduced at 29)

We copies constants and type definitions from Ndk headers, creates a
same name wrapper for every NdkBinder API we use in
grpc_binder::ndk_util namespace.

We will try to load libbinder_ndk.so and resolve the symbol when the
NdkBinder API wrappers are invoked.

* regenerate projects

* Add GRPC_NO_BINDER guard
2021-11-05 01:40:49 +08:00
AJ Heller 28efd46422
Add EventEngine::CancelConnect (#27764) 2021-11-03 18:03:24 -07:00
Nicolas Noble 826b888e75
Conditionally use pthread_setname_np (#27540)
* Conditionally use pthread_setname_np

Fixes #27437.

* pthread_setname_np is on 2.12, not 2.11.
2021-11-02 16:06:55 -07:00
Ming-Chuan e0f793b3d3
Expose experimental binder transport API (#27632)
* Expose experimental binder transport API

New headers are added
`grpcpp/create_channel_binder.h `: interfaces for creating client
channel
`grpcpp/security/binder_credentials.h`: interfaces for binder server
credentials
`grpcpp/security/binder_security_policy.h`: interfaces for binder
security policy, which is used by both server and client. Individual
security policies are merged into this single header.

Users can now depend on the `grpc++_binder` target to use the headers
listed above.

* Regenerate projects
2021-11-01 20:25:22 +08:00
Ashitha Santhosh a1db97be90
Revert "Revert "Revert "Revert "File watcher authorization policy provider implementation"" (#27605)" (#27644)" (#27645)
This reverts commit b8e01f73a0.
2021-10-08 15:52:13 -07:00
AJ Heller b8e01f73a0
Revert "Revert "Revert "File watcher authorization policy provider implementation"" (#27605)" (#27644)
This reverts commit 5912aedb2b.
2021-10-07 16:45:30 -07:00
Ashitha Santhosh 5912aedb2b
Revert "Revert "File watcher authorization policy provider implementation"" (#27605)
* Revert "Revert "File watcher authorization policy provider implementation (#26779)" (#27591)"

This reverts commit a1ad74f7af.

* Remove license comment
2021-10-07 09:54:23 -07:00
Craig Tiller 79ef60f079
Integrate new resource quota, event engine (#27522)
* Integrate new resource quota, event engine

* Automated change: Fix sanity tests

* windows fix

* Automated change: Fix sanity tests

* Update memory_allocator.h

* Automated change: Fix sanity tests

* first round review feedback

* review feedback

* Automated change: Fix sanity tests

* Update memory_quota.h

* get re-export formatted right

* Automated change: Fix sanity tests

* Update memory_allocator.cc

* Automated change: Fix sanity tests

* MemoryOwner has-a MemoryAllocator

* using fix

* review feedback

* Automated change: Fix sanity tests

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-10-06 13:29:57 -07:00
Craig Tiller a1ad74f7af
Revert "File watcher authorization policy provider implementation (#26779)" (#27591)
This reverts commit 310accd077.
2021-10-05 09:12:08 -07:00
Ashitha Santhosh 310accd077
File watcher authorization policy provider implementation (#26779)
* File watcher authorization policy provider implementation
2021-10-04 14:22:45 -07:00
Ashitha Santhosh 835eacc32d
Check for mtls authenticated (#27360)
* Check for mtls authenticated.
2021-09-24 17:18:13 -07:00
AJ Heller 97631cf34c
EventEngine::Closure (#27395)
This introduces the new `Closure` type, and new cancellation semantics.

I've also fixed a few bugs in the EventEngine iomgr implementation that
had gone unnoticed.
2021-09-21 09:17:14 -07:00
Alisha Nanda 0a502d8f2e
Fix race between Read and ServerContext::IsCancelled in Sync API (#27056)
* Fix OOM issues in qps tests

* Add more verbose logging.

* Fix clang error

* Fix race between IsCancelled and Read

* Fix build errors from using bool in C code
2021-09-15 12:29:02 -07:00
Yash Tibrewal 72171a3326
De-experimentalize XdsCredentials and XdsServerCredentials API (#26544)
* De-experimentalize XdsCredentials and XdsServerCredentials API

* Use GRPC_DEPRECATED
2021-09-09 16:22:25 -07:00
Yash Tibrewal 7fd731f704
De-experimentalize XdsServerBuilder (#27296) 2021-09-09 14:14:11 -07:00
Yash Tibrewal f26c107651
xDS server serving status: Use a struct to allow more fields to be added in the future (#27242) 2021-09-09 11:11:57 -07:00
Craig Tiller ea389c00c2
Adjust include order per style guide (#27175)
Introduce clang-format configuration to sort includes closer to our rules.
2021-09-08 12:14:44 -07:00
Craig Tiller 28316341bf
Annotate impl/codegen with IWYU pragmas (#27252)
* Add a tool to annotate impl/codegen with IWYU pragmas

* xx

* oops

* fmt

* x

* fix wrong direction bug

* use defaultdict

* better annotations

* better annotations

* Automated change: Fix sanity tests

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-09-08 09:13:03 -07:00
AJ Heller 6dfcc6140f
EventEngine documentation and API changes from the gRFC (#27220) 2021-09-08 08:03:37 -07:00
AJ Heller 17174976b6
Remove the TaskHandle return type from EventEngine::Run (#27269)
It isn't used in gRPC currently, and would be difficult to implement
efficiently in some scenarios.
2021-09-07 13:22:57 -07:00
Craig Tiller b062fcd5c6
Ensure consistency of include style for <grpc.* headers (#27233)
* Add a tool to ensure consistency in how grpc public headers are included

* Apply tool

* add to test suite

* isort
2021-09-02 11:42:33 -07:00
Ming-Chuan 7f8aeed223
Only enable binder transport code when API level is high enough (#27177)
This commit adds a new symbol GPR_SUPPORT_BINDER_TRANSPORT to
port_platform.h

This will help avoid surprising compilation failure when compiled with
old NDK or low API level
2021-09-02 03:01:48 +08:00
AJ Heller 2f838fd3b1
Remove EventEngine::Shutdown (#27207)
It was determined that an explicit Shutdown method is not necessary, and further, it can be challenging to implement efficiently in some cases. Instead, EventEngines are expected to clean themselves up upon destruction. Anything that relies on an EventEngine's existence must coordinate itself to ensure the engine remains alive for as long as it's needed.
2021-08-31 17:54:12 -07:00
AJ Heller 2d16865693
Delete libuv-iomgr implementation and GRPC_UV build option (#27188)
This has been unmaintained for years, last supported in gRPC-core v1.24.
2021-08-31 13:26:43 -07:00
AJ Heller 0407f4be49
Fix free-after-use bug in server callback handler (#27187)
Successful asan run https://source.cloud.google.com/results/invocations/33bc587c-a440-45bd-9886-a23789645a7d/targets

Successful TGP available upon request.
2021-08-31 11:01:57 -07:00
Craig Tiller 46afdf9989
Add test and mitigation for clang 11 compiler bug (#27073)
* Add test and mitigation for clang 11 compiler bug

* document

* document

* Automated change: Fix sanity tests

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-08-22 22:35:51 -07:00
AJ Heller d10617edb5
Move resource_user ownership into chttp2 transport/server/connector v2 (#27032)
Reintroducing PR #26643, which was reverted in #27029

Fixed a memory leak and added a test that would have caught it (ASAN build): ca0c8c4
2021-08-18 17:04:00 -07:00
Craig Tiller 4dff0ee48a
Fix bug in CQNext (#27022)
Internal bug b/170934515

In some cases, calling CQ::Next will return true without passing up a
new tag value, which is very much illegal. My expectation is that this
is due to messing up between SHUTDOWN and TIMEOUT in lower layer code
that doesn't particularly matter much to most callers, but was being
erroneously checked here.
2021-08-17 10:50:10 -07:00
Craig Tiller f5d3ed2db1
Revert "Move resource_user ownership into chttp2 transport/server/connector (#26643)" (#27029)
This reverts commit d1935a65a1. Will be rolled forward with a fix.
2021-08-16 19:07:39 -07:00
AJ Heller d1935a65a1
Move resource_user ownership into chttp2 transport/server/connector (#26643) 2021-08-16 13:50:56 -07:00
Zhongxian Pan 3340f35d71
Remove useless grpc_alarm declaration in grpc_types.h (#26991) 2021-08-13 04:43:54 -07:00
Tamir Duberstein 96fb5d4482
Remove GPR_*_TLS macros except PTHREAD (#26974)
Use c++11 thread_local when GPR_PTHREAD_TLS isn't defined.
2021-08-12 06:45:34 -07:00
Tamir Duberstein ea3ac74004
Use stdcpp TLS on Fuchsia (#26936)
There seems to be no reason this was using pthread apart from
GPR_STDCPP_TLS not yet existing when the Fuchsia configs were created in
https://fuchsia.googlesource.com/third_party/grpc/+/2dbaf2a.
2021-08-07 14:33:58 -07:00
Yash Tibrewal 29d220a0ef
Re-experimentalize XdsServerBuilder (#26892)
* Re-experimentalize XdsServerBuilder

* Fix compiler issue
2021-08-06 10:29:28 -07:00
Tamir Duberstein 013e67a029
Deprecate grpc{_core,::internal}::WaitUntil (#26866)
It is not possible for such a function to be implemented in a way that
is understood by annotalysis. Mark it deprecated and replace instances
of its use with direct mutex/condvar usage.

Add a bunch of missing thread safety annotations while I'm here.
2021-08-04 17:03:25 -07:00
Mark D. Roth d140f14caf
Enable retries by default (#26766)
* Enable retries by default, but add a separate arg for hedging.

* don't need to explicitly enable retries in xDS config selector

* clang-format

* don't need retry_enabled bit anymore

* fix HTTP client filter to restore the send_message op in the batch

* fix retry cancellation when a batch fails on call attempt

* fix clang-tidy

* fix client channel to pass down batches even after cancellation

* fix retry code to pass transport stats back up to the surface

* add some missing payload propagation

* fix retry handling of callbacks for pending batches

* avoid scheduling the same callback twice

* fix some trace messages

* don't avoid starting recv_initial_metadata or recv_message due to recv_trailing_metadata already being started internally

* avoid restarting recv_trailing_metadata after commit if we've already started it internally

* use fast path when retries are not configured
2021-08-02 15:23:30 -07:00
Esun Kim 931f91b745
Changed GRPCPP_ABSEIL_SYNC to GPR_ABSEIL_SYNC (#25681) 2021-08-02 12:18:21 -07:00
Mark D. Roth fbd5e9f2ed
add separate channel arg to enable hedging (#26838)
* add separate channel arg to enable hedging

* revert change to retry_disabled test
2021-08-02 10:07:51 -07:00
AJ Heller a10a5bf655
Changes from feedback on gRFC L82: gRPC Core EventEngine API (#26733) 2021-07-21 13:27:04 -07:00
Craig Tiller 66babfd746
Use C++ attribute detection (#26721) 2021-07-19 15:32:35 -07:00
yihuaz b9a69481c2
Revert "Support user provided "scope" in JWT and GDC (#26577)" (#26645)
This reverts commit 6df967966b.
2021-07-09 15:05:34 -07:00
Rainer Schoenberger ede7923116
Fix ABNF grammar formatting in doxygen documentation (#26467) 2021-07-07 17:50:44 -07:00
Vijay Pai ae0516fece
Remove some EXPERIMENTAL comments (#26618)
* Remove some EXPERIMENTAL comments

* Update server_interface.h
2021-07-07 14:25:42 -07:00
Yash Tibrewal 4daedf0233
De-experimentalize XdsServerBuilder (#26543) 2021-07-02 19:33:15 -07:00
yihuaz 6df967966b
Support user provided "scope" in JWT and GDC (#26577)
* support scope overriding in jwt and gdc

* fix formatting

* fix bazel build issue

* fix clang tidy
2021-07-01 10:26:33 -07:00
Vijay Pai 3e19babc1e
Remove all possible traces of grpc::experimental for callback API (#26584) 2021-06-30 19:55:08 -07:00
itsemmanuelfrancis 471df71003
removing grpc_metadata::flags, improving GRPC_INITIAL_METADATA_* comments (#26562) 2021-06-30 12:03:29 -07:00
Vijay Pai 0b65c34ae5
De-experimentalize default_reactor_test_peer.h and last uses of CallbackServerContext (plus namespace cleanup) (#26569)
* De-experimentalize default_reactor_test_peer.h (plus namespace cleanup)

* Remove experimental refs to callback API in server_context.h
2021-06-29 12:24:09 -07:00
Vijay Pai 8f0dc6946c
Remove last ref to grpc_experimental_completion_queue_functor (#26568) 2021-06-28 16:44:52 -07:00
Vijay Pai ea4b68e7a1
Drop experimental tags from core callback API (#26535) 2021-06-24 17:20:43 -07:00
Craig Tiller 03bdfa4a74
Make socket mutators work for server connections (#26328)
* Make socket mutators work for server connections

* compile fix

* compile fix

* compile fix

* compile fix

* cleanup

* Revert "cleanup"

This reverts commit 480fcc600a.

* Revert "Revert "cleanup""

This reverts commit 29fbc349d2.
2021-06-23 14:40:35 -07:00
yihuaz 932dbed49d
Revert "Allow to specify user provided audience in google default credentials and JWT credentials (#26456)" (#26531)
This reverts commit 5a91a513fd.
2021-06-22 16:30:30 -07:00
Vijay Pai cf1ebf7387
Remove experimental tag from uses of the C++ callback API (#26495) 2021-06-20 00:47:07 -07:00
AJ Heller 25d91e3091
New iomgr implementation backed by the EventEngine API (#26026)
This code adds an iomgr implementation that's backed by an EventEngine. This uses the EventEngine API alone, and separate work will introduce an EventEngine prototype to plug into it.

See also drfloob#1: @nicolasnoble has a pull request against this branch, implementing the libuv-based EventEngine. One goal here is to implement the iomgr code such that it can be merged independently without affecting normal builds.

This implementation can be built using bazel build --cxxopt='-DGRPC_USE_EVENT_ENGINE' :all

Some shortcuts are being taken to get a working, testable version of the engine. EventEngines are not pluggable, for example.
2021-06-18 12:30:09 -07:00
ZhenLian 5a91a513fd
Allow to specify user provided audience in google default credentials and JWT credentials (#26456)
* support user provided audience in gdc and jwt
2021-06-11 09:44:46 -07:00
Tom Ward 0a97253cc2
Add MockServer{Reader|Writer} to enable mocking server streams. (#26429) 2021-06-08 11:15:32 -07:00
Esun Kim eec81014d8
Revert "async_unary_call: add a Destroy method, called by std::default_delete. (#26389)" (#26449)
This reverts commit b3b036ca17.
2021-06-08 10:29:44 -07:00