AJ Heller
1a8b22f2de
[build] Restrict visibility for creating core credentials types. ( #36216 )
...
Closes #36216
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36216 from drfloob:conceal-core-cred-creation a44a299273
PiperOrigin-RevId: 625425746
8 months ago
Craig Tiller
58b254dacf
[call-v3] Channel filter construction returns pointers ( #36355 )
...
Currently channel filter construction returns a `StatusOr<T>`, this change makes it return a `StatusOr<P<T>>` where P is `unique_ptr`, `OrphanablePtr`, `RefCountedPtr`, `DualRefCountedPtr`, etc (most of the code really doesn't need to know, so I'm choosing to leave the flexibility).
That smart pointer is then stored in the channel stack instance, and dereferenced when needed.
This means that channel filters no longer need to be movable (which is a nice simplification), and puts these level-1 filters on a similar memory management track as the level-2 filters we have planned.
(this change also converts client load reporting to v3 apis -- it's a bit accidentally picked up, but seems ok to pull through too)
Closes #36355
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36355 from ctiller:objectify-me 0eb054b748
PiperOrigin-RevId: 625390977
8 months ago
Yijie Ma
536899d998
[test] Change to "threadsafe" mode for `ChannelInitDeathTest.CanAddBeforeAllTwice` ( #36263 )
...
<!--
If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the appropriate
lang label.
-->
Closes #36263
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36263 from yijiem:fix-tests-1.63-release 205746bdbd
PiperOrigin-RevId: 622251682
8 months ago
Craig Tiller
65ddb57908
[call-v3] Changes to CallFilters to prep for final CallInitiator/UnstartedCallHandler/CallHandler APIs ( #36005 )
...
- client initial metadata is always supplied at initiator construction
- stack configuration is lazily supplied
Closes #36005
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36005 from ctiller:chan3-no-push 423869d77b
PiperOrigin-RevId: 620971618
8 months ago
Mark D. Roth
0213523907
[build] move channel out of grpc_base ( #35924 )
...
This adds the following new targets:
- `channel`: A virtual interface for a channel.
- `legacy_channel`: A channel implementation that supports the filter stack and call v2.
- `channel_create`: A standalone function to create a channel.
- `server_interface`: A base class with a few accessor methods used in surface/call.cc.
- `server`: The actual server implementation.
- `api_trace`, `call_tracer`, `server_call_tracer_filter`, `call_finalization`: These were split out of `grpc_base` to avoid various dependency problems.
- `compression`: This is a combination of the previously existing `compression_internal` target and the compression code that was part of `grpc_base`.
Closes #35924
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35924 from markdroth:channel_interface 94a7fffddb
PiperOrigin-RevId: 612512438
9 months ago
Mark D. Roth
574b0572f1
[client channel] remove grpc_channel_num_external_connectivity_watchers() ( #35840 )
...
Implements gRFC L113 (https://github.com/grpc/proposal/pull/417 ).
Closes #35840
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35840 from markdroth:client_channel_remove_num_external_watchers 334670c13c
PiperOrigin-RevId: 606766495
10 months ago
Mark D. Roth
41606054c2
[load_file] remove grpc_load_file() in favor of grpc_core::LoadFile() ( #35857 )
...
Closes #35857
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35857 from markdroth:highlander 7b7d95aaa9
PiperOrigin-RevId: 605742734
10 months ago
Craig Tiller
3ff53525d1
[channel] Integrate channel init infrastructure with new call filter infrastructure ( #35767 )
...
built on #35766
Closes #35767
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35767 from ctiller:chan3+1 22cbba7de8
PiperOrigin-RevId: 604446427
10 months ago
Craig Tiller
9eadf42dbf
[promises] Add an API to access new style filters ( #35200 )
...
Will be used during this transition time to run 5-pipe style filters somewhat more natively. Once everything is getting closer to 5-pipes, we'll drop this method and have the channel stack understand how to create an interception-map that can be reused per-call, instead of creating the interception-map every time a call is created.
Closes #35200
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35200 from ctiller:cg-channel-filter-api 2fc11dd273
PiperOrigin-RevId: 587940947
1 year ago
Craig Tiller
975184f04b
[channel-stack] Make ordering explicit ( #32852 )
...
Ditch the old priority scheme for ordering filters, instead explicitly
mark up before/after constraints.
---------
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
1 year ago
Yijie Ma
bae0c705aa
[Deps] Update to Clang-16 ( #34492 )
...
<!--
If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the
appropriate
lang label.
-->
1 year ago
Craig Tiller
3717ff04ba
[chttp2] Split ping policy from transport ( #33703 )
...
Why: Cleanup for chttp2_transport ahead of promise conversion - lots of
logic has become interleaved throughout chttp2, so some effort to
isolate logic out is warranted ahead of that conversion.
What: Split configuration and policy tracking for each of ping rate
throttling and abuse detection into their own modules. Add tests for
them.
Incidentally: Split channel args into their own header so that we can
split the policy stuff into separate build targets.
---------
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
1 year ago
Craig Tiller
efa939ac1f
[cleanup] Remove public_headers_must_be_c89 test ( #32898 )
...
We're starting to introduce C++ APIs to C-core, so this test is no
longer relevant.
2 years ago
Craig Tiller
62bb99d163
[e2e] c++-ify core e2e test fixtures ( #32550 )
...
A step toward #14016 .
---------
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Vignesh Babu
fa5a6c42a6
[EventEngine] Modify iomgr to allow creation of posix event engine listeners and server side endpoints ( #31928 )
...
* [WIP] EventEngine iomgr endpoint shims
* [WIP] EventEngine::Endpoint iomgr shims for the PosixEventEngine
* Util functions to help with posix engine listener implementation
* sanity
* update comments in posix_engine_listener_utils.h
* review comments
* iwyu
* revert prev commit
* iwyu
* update build
* update
* regenerate projects
* regenerate projects
* minor fixes
* update BUILD
* sanity
* update build
* regenerate projects
* fix unused parameter
* sanity
* update
* sanity
* regenerate_projects
* remove unused variable
* start
* update
* regenerate_projects
* sanity
* update
* fixes
* update
* regenerate_projects
* update
* fix sanity and msan failure
* more fixes
* build failure
* update
* fix
* sanity
* fixes
* update
* regenerate projects
* fix sanity
* review comments
* An EventEngine subclass to be implemented by all posix based event engines
* sanity
* comments
* update
* review comments
* re-word
* fix
* update
* review comments
* regenerate projects
* syntax fix
* add lock free event benchmark
* releasable mutex lock
* fix build isue
* update
* start
* regenerate projects
* update
* fix
* windows build
* update
* windows portability issue
* update
* update
* update
* update
* format
* update
* update
* start
* Update tcp server interface to move on_accept_cb to create method
* update
* start
* update
* update
* update
* update
* update
* update
* update
* update
* sanity
* update
* update
* update
* windows build
* fix msan
* fix sanity
* regenerate projects
* update
* iwyu
* Fix resolved address length related bugs in tcp_socket_utils and listener_utils
* iwyu
* cleanup
* cleanup src/core/lib/event_engine/tcp_socket_utils.cc
* iwyu
* fix
* regenerate projects
* fix sanity
* re-write endpoint shim
* more re-write
* cleanup
* update
* regenerate projects
* review comments
* build issue
* more build issue fixes plus adding event_engine_trace
* even more build issue fixes
* iwyu
* add static_cast
* fix sanity
* update
* update
* sanity
* fix
* Fix
* Review comments
* fix
* iwyu
* fix build issue
Co-authored-by: AJ Heller <hork@google.com>
2 years ago
Craig Tiller
67f364e23e
[cleanup] Eliminate usage of GRPC_ASSERT(false...); ( #31757 )
...
* crash function
* progress
* fix
* fix
* Automated change: Fix sanity tests
* fix
* fix
* fix
* fixes
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
* fix
* fix
* use cpp attr
* Automated change: Fix sanity tests
* fix
* fix
* fix
* fix
* fix
* fix
* add exclusion
* fix
* typo
* fix
* fmt
* Update tcp_socket_utils.cc
* Automated change: Fix sanity tests
* fix
* revert php changes
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Yijie Ma
f99b8b5bc4
Convert c-style comments to C++-style comments ( #31923 )
...
* baseline
* fix clang-tidy
* manually revert these files
* manually fixup at eof
* revert 2 more files
* change check_deprecated_grpc++.py
* change end2end_defs.include template
* fix check_include_guards.py
* untrack tools/distrib/python/convert_cstyle_comments_to_cpp.py
not yet ready to be submitted
* fix
yapf check_include_guards.py
remove a space...
* fix version.cc.template
* fix version_info.h.template
2 years ago
Vignesh Babu
531287b2ee
Update tcp server interface to move on_accept_cb to the create method ( #31912 )
...
* Update tcp server interface to move on_accept_cb to create method
* update
* update
2 years ago
Cheng-Yu Chung
b72da316bb
[cleanups] Remove `include/grpc/impl/codegen/slice.h` ( #31871 )
...
* Remove `include/grpc/impl/codegen/slice.h`
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
2 years ago
Cheng-Yu Chung
b887534111
[cleanups] Remove `include/grpc/impl/codegen/propagation_bits.h` ( #31870 )
...
* Remove `include/grpc/impl/codegen/propagation_bits.h`
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
2 years ago
Cheng-Yu Chung
9a7e77318b
[cleanups] Remove `include/grpc/impl/codegen/grpc_types.h` ( #31835 )
...
* Remove `include/grpc/impl/codegen/grpc_types.h`
* Automated change: Fix sanity tests
* Fix typo
* Automated change: Fix sanity tests
2 years ago
Cheng-Yu Chung
2e9e6439f8
Remove `include/grpc/impl/codegen/connectivity_state.h` ( #31728 )
...
* Remove `include/grpc/impl/codegen/connectivity_state.h`
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
2 years ago
Cheng-Yu Chung
0d3fcb41ea
Revert "Move google_default channel_credentials out of `include/grpc/grpc_security.h` ( #31786 )" ( #31822 )
...
This reverts commit 3d59abc94e
.
2 years ago
Cheng-Yu Chung
5fe132a211
Revert "Revert "Remove `include/grpc/impl/codegen/gpr_slice.h` ( #31774 )" ( #31805 )" ( #31806 )
...
This reverts commit 39a4343044
.
Fixing forward the original PR. The content should be the same as the original PR. The broken part is in the internal.
2 years ago
Cheng-Yu Chung
3d59abc94e
Move google_default channel_credentials out of `include/grpc/grpc_security.h` ( #31786 )
2 years ago
Cheng-Yu Chung
39a4343044
Revert "Remove `include/grpc/impl/codegen/gpr_slice.h` ( #31774 )" ( #31805 )
...
This reverts commit ac1dee8ac1
.
2 years ago
Cheng-Yu Chung
ac1dee8ac1
Remove `include/grpc/impl/codegen/gpr_slice.h` ( #31774 )
2 years ago
Cheng-Yu Chung
dba82c9be6
Remove `include/grpc/impl/codegen/log.h` ( #31775 )
...
* Remove `include/grpc/impl/codegen/log.h`
* Automated change: Fix sanity tests
2 years ago
Cheng-Yu Chung
77b3972f95
Clean up the TODO item in build target `grpc_base` part `channel_args` ( #31642 )
...
* Clean up the TODO item in build target `grpc_base` part `channel_args`
* Update
* Update
* Update
* Automated change: Fix sanity tests
* update
* Automated change: Fix sanity tests
2 years ago
Cheng-Yu Chung
c34d99fd9a
Remove `include/grpc/impl/codegen/compression_types.h` ( #31726 )
...
* Remove `include/grpc/impl/codegen/compression_types.h`
* Automated change: Fix sanity tests
2 years ago
Cheng-Yu Chung
7e3ada34e6
Clean up the TODO item in build target `grpc_base` -- part `closure` ( #31001 )
...
* Clean up the TODO item in build target `grpc_base` part `closure`
* Update
* Update
* Revert "Update"
This reverts commit daf3118390
.
* Update
* Update
* Automated change: Fix sanity tests
2 years ago
Esun Kim
0ba0c4bf74
Added googletest clang-tidy checks ( #31610 )
...
* Added google-googletest
* Autofix
* Fix test names
* Fix
2 years ago
Cheng-Yu Chung
3d68bb735a
Remove `include/grpc/impl/codegen/byte_buffer.h` ( #31674 )
2 years ago
Esun Kim
50fbe51238
Fix IWYU with clang-15 ( #31556 )
...
* Fix iwyu
* iwyu fix
* more fixed
* Build fix
* more fix
* More fixes 3
2 years ago
Esun Kim
3c96517fc0
Simplified GRPC_ERROR_CREATE macros ( #31222 )
...
* Simplified GRPC_ERROR_CREATE macros
* Code migration
2 years ago
Craig Tiller
beb5bdca62
[promises] Promise based grpc_call ( #29598 )
...
* Automated change: Fix sanity tests
* fix
* fixes
* fixup allocator story - we should require a context
* fixes
* doodling
* context scribbles
* [arena] Add ManagedNew(), gtest-ify test
Add a ManagedNew() method to Arena that calls the relevant destructor at Arena destruction time.
There are some cases coming up in the promise based call work where this becomes super convenient, and I expect it's likely that there are other places that's true too.
* Automated change: Fix sanity tests
* progress
* lalalal
* progress
* x
* Automated change: Fix sanity tests
* fixes
* fix
* fix
* fix
* fix
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
* fixes
* fixes
* fixes
* Automated change: Fix sanity tests
* progress
* fix client streaming
* handle invalid flags
* Automated change: Fix sanity tests
* no logging
* progress
* progress
* channelz
* tentative fix
* fix
* lalala
* Automated change: Fix sanity tests
* more readable trace
* logging improvements, leading to bug fix in connected channel
* fix
* improve debuggability
* fix
* progress to better refcounting
* progress
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fix
* fix
* fix
* threading
* Automated change: Fix sanity tests
* fix
* fix
* improve debuggability
* fix
* fix
* Automated change: Fix sanity tests
* fix
* make promises runtime configurable
* Automated change: Fix sanity tests
* fix
* fix build
* fix broken test
* clean up api
* deal with stats better
* peer string!
* introduce fragments
* Automated change: Fix sanity tests
* use fragments
* stuff
* [promises] Add AtomicWaker type
* Automated change: Fix sanity tests
* fix
* fix write path
* fix
* polling-entity-hell
* review feedback
* fix
* fix
* fix
* fix
* make an experiment
* [experiments] Make output more diffable/readable
* Automated change: Fix sanity tests
* buildifier sized indentations
* fix
* fix
* Automated change: Fix sanity tests
* fix?
* fix promise
* prototype
* progress
* implement new api
* Revert "fix promise"
This reverts commit ded85e7d19
.
* Revert "Revert "fix promise""
This reverts commit c2acef1958
.
* progress
* done
* Automated change: Fix sanity tests
* fix
* fix
* fix
* Automated change: Fix sanity tests
* updates
* review feedback
* first pass feedback
* Automated change: Fix sanity tests
* review feedback
* naming
* better-logs
* fix test
* Automated change: Fix sanity tests
* comments
* fix
* progress
* validation
* iwyu
* fix
* ugh this needs to be any
* fix flakiness in asan
* call tracing
* cleanup unused args
* fix windows
* fix build
* ugh
* fix tsan race
* threading-fix
* bloat1
* bloat2
* bloat3
* fix
* unused-args
* sanity
* iwyu
* fix
* fix
* this is ok
* iwyu, exchange
* fix
* Automated change: Fix sanity tests
* fix ee lifetime issue
* fix
* review feedback
* Automated change: Fix sanity tests
* comment
* x
* fix tsan race
* iwyu
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
8174a75079
[iwyu] Add more test directories ( #30952 )
...
* [iwyu] Add more test directories
* fix
* fix
* fix
* fix
* fix
* Automated change: Fix sanity tests
* fix
* iwyu
* Automated change: Fix sanity tests
* fix
* fix
* fix
* fix
* Automated change: Fix sanity tests
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
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
2 years ago
Esun Kim
d43511f4af
Removed GRPC_ERROR_NONE ( #31131 )
2 years ago
Esun Kim
ba8af0157b
Removing GRPC_ERROR_[REF|UNREF|IS_NONE] ( #31089 )
...
* Removing GRPC_ERROR_[REF|UNREF|IS_NONE]
* Clean up unnecessary error
* Fix
* Fix2
* Remove unnecessary else
2 years ago
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>
2 years ago
Craig Tiller
1ad4bbe78e
Revert "fix ( #31018 )" ( #31021 )
...
This reverts commit 2e6f268dfc
.
2 years ago
Mark D. Roth
5e0165bc02
EventEngine: fix callers of Run() and RunAfter() to create ExecCtx ( #31047 )
2 years ago
Craig Tiller
2e6f268dfc
fix ( #31018 )
2 years ago
Craig Tiller
d9ac89a441
[gprpp] absl::Notification polyfill ( #31008 )
...
* [gprpp] absl::Notification polyfill
* grpc_core::
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
96f5cddb5f
[time] Introduce time sources ( #30815 )
...
* [time] Introduce time sources
* make import trivial
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* review feedback
* fix
* Automated change: Fix sanity tests
* ios fix
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
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
2 years ago
Craig Tiller
535168431a
[lb_policy] Move to core configuration system ( #30483 )
...
* [load_balancing] Move interfaces to src/core/lib/load_balancing
* Automated change: Fix sanity tests
* progress
* progress
* fix
* missed file
* Automated change: Fix sanity tests
* update tests
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fix
* fix
* Automated change: Fix sanity tests
* fix
* fixes
* fix
* fix
* fix
* fix
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
5a5adfb1b9
[fixit] Ensure ordering between iomgr and event engine shutdown ( #30764 )
...
* [fixit] Terminate event engine before iomgr
* guard against self-joins
* build
* fix api_fuzzer
* Automated change: Fix sanity tests
* add test
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
f573fd44f9
[test] Semi-automatic flaky test tracking ( #30638 )
...
* [test] Semi-automatic flaky test tracking
* fix
* Automated change: Fix sanity tests
* Update update_flakes.py
* fix formatting
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago