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
Vignesh Babu
0b1a8c984b
Revert "Modifying iomgr tcp code to use event engine EndpointConfig instead of channel_args ( #30028 )" ( #30495 )
...
This reverts commit 2c977a4d98
.
2 years ago
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>
2 years ago
Craig Tiller
3ec0e29bcf
[test] Convert cq verifier to C++ ( #30256 )
...
* [test] Convert cq verifier to C++
* Automated change: Fix sanity tests
* fix
* dead code
* strength reduction
* dead code
* fix
* when search/replace goes wrong
* review feedback
* review feedback
* cleanup
* fixes
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
AJ Heller
64939531f9
Re-Reland: Add SRV and TXT record lookup methods to the iomgr API ( #30246 )
...
* Revert "Revert "Reland: Add SRV and TXT record lookup methods to the iomgr PAI (#30242 )"
This reverts commit b5966f39eb
.
* release lock before unreffing
2 years ago
AJ Heller
b5966f39eb
Revert "Reland: Add SRV and TXT record lookup methods to the iomgr PAI ( #30242 )
...
* Revert "Reland: Add SRV and TXT record lookup methods to the iomgr API (#30206 )"
This reverts commit c229703f9f
.
* Automated change: Fix sanity tests
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
2 years ago
Craig Tiller
d304712f64
[channel_args] Spread grpc_core::ChannelArgs through client channel code ( #30008 )
...
* [channel_args] Spread grpc_core::ChannelArgs through client channel code
* progress
* progress
* grpc compiles
* uniqueptr+compiles
* fix
* fix
* fix
* fix
* fix
* fix
* fixes
* fix
* fix
* fixes
* fix-lb
* fix
* fix up arg construction
* fix
* fix
* fix
* fix
* move to const& to save bytes
* fix
* fix
* progress
* review feedback
* fix
* fix
* fixes
* fixes
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fix
* fix
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fix
* debug-helper
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
AJ Heller
c229703f9f
Reland: Add SRV and TXT record lookup methods to the iomgr API ( #30206 )
...
* Revert "Revert "Add SRV and TXT record lookup methods to the iomgr API (#30078 )" (#30176 )"
This reverts commit 2c3acbb2b2
.
* one way to fix the ares handle race. Another option: work_serializer
* replace mu with parent's work serializer
* add lock annotations
* Revert "replace mu with parent's work serializer"
This reverts commit 0fce0ae150
.
* statusor -> optional
* Automated change: Fix sanity tests
* add missing dep
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
2 years ago
Esun Kim
1bb9426baf
Clean up ( #30226 )
2 years ago
Esun Kim
36102dc910
gtestify test/core/surface ( #30212 )
2 years ago
AJ Heller
2c3acbb2b2
Revert "Add SRV and TXT record lookup methods to the iomgr API ( #30078 )" ( #30176 )
...
This reverts commit c835402dd9
.
2 years ago
AJ Heller
c835402dd9
Add SRV and TXT record lookup methods to the iomgr API ( #30078 )
...
* Rename ResolveName to LookupHostname (same as EventEngine)
* Add stubs and no-op impls for LookupTXT and LookupSRV
* add native resolver tests that assert unimplemented
* extract custom name_server-setting logic and remove goto
* Separate SRV queries from grpc_dns_lookup_ares
* add necessary fixits before merging
* Automated change: Fix sanity tests
* fix missing ExecCtx on resolver tests
* separate out TXT lookup from hostname lookup (now all 3 are separate)
* rm DNS and update docs
* fix the fixer (forgot to add deps to BUILD)
* remove unused SRV and TXT args from ares hostname lookup method
* rename hostname-only ares dns lookup method
* refactor AresRequest using template method pattern
* Add name_server to Ares LookupHostname internals (needs iomgr API change)
* fix resolver test, callback should not be called on cancellation
* implement Ares-iomgr SRV and TXT lookup methods (verified manually)
Used a custom bind server with some redacted tests from
`resolve_address_test` to ensure both are working as expected.
* cleanup cruft
* unify common ares request setup logic between A, AAAA, TXT, and SRV
* generate_projects
* comment out unused args
* DNSResolver iomgr API uses Duration; hostname has all args now
* rm stale TODOs
* windows fix - bad variable name
* windows fix
* Automated change: Fix sanity tests
* reviewer feedback
* make protected members private
* move common properties to AresRequest base class
* localhost TXT results are empty, not an error
* reviewer feedback
* fix
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
2 years ago