AJ Heller
0c5b6171ad
EventEngine Forkables ( #30473 )
...
A (currently) pthread_atfork-based fork support mechanism, allowing EventEngines - or any other object that wants to implement the Forkable interface - respond to forks.
2 years ago
AJ Heller
8f5300b95d
Rename the default EventEngine headers ( #30528 )
...
* Rename the default EventEngine headers
Small cleanup. This code hasn't been related to factories for a month or
two.
* ensure only one target contains default_event_engine.h
* src + hdr in same target
* include guards
2 years ago
Craig Tiller
c866d65966
[promises] Eliminate switch.h ( #30317 )
...
* [promises] Eliminate switch.h
Instead build a jump table that we can index into and call the appropriate function. Means that the dispatch mechanism can be done in C++ without a code generator, and so eliminates a bunch of fiddly code.
* fix
* ensure static initialization
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
15a81131a8
[c++] Add a non-destructed type ( #30491 )
...
* [c++] Add a non-destructed type
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* comment
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Mark D. Roth
af634e19b4
Declarative JSON parser ( #30442 )
...
* Declarative JSON parser
* Automated change: Fix sanity tests
* fix
* shrinking stuff a little
* static vtables
* separate fns
* simpler?
* make maps work
* windows fixes
* Automated change: Fix sanity tests
* simplify code
* Automated change: Fix sanity tests
* vtable-test
* dont always create vec/map impls for every type
* comments
* make error consistent
* move method private
* progress
* durations!
* Automated change: Fix sanity tests
* fix
* fix
* fix
* Automated change: Fix sanity tests
* post-load
* Automated change: Fix sanity tests
* document JsonPostLoad() and add static_assert
* don't copy field names, to avoid length limitations
* use absl::Status
* accept either string or number for numeric values
* add test for direct data member of another struct type
* remove unused method
* add support for retaining part of the JSON wirthout processing
* update test for changes in Json::Parse() API
* add absl::optional support
* Automated change: Fix sanity tests
* fix tests, improve error messages, and add overload to parse to existing object
* remove overload of LoadFromJson()
* change special case for Json to instead use Json::Object
* fix build
* improve error structure, add missing types, and improve tests
* clang-format
* Automated change: Fix sanity tests
* fix build
* add LoadJsonObjectField(), add LoadFromJson() overload that takes an ErrorList parameter, and add tests for parsing bare top-level types
* fix msan
* Automated change: Fix sanity tests
* fix error message
* Automated change: Fix sanity tests
* add mechanism to conditionally disable individual fields
* fix build
Co-authored-by: Craig Tiller <craig.tiller@gmail.com>
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
Co-authored-by: Craig Tiller <ctiller@google.com>
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2 years ago
AJ Heller
c752a6b25e
Reland: Windows IOCP implementation for the WindowsEventEngine ( #30480 )
...
Reverts #30466 , relanding #30389 . Requires a cherrypick.
2 years ago
Craig Tiller
a5cab10d6f
[load_balancing] Move interfaces to src/core/lib/load_balancing ( #30465 )
...
* [load_balancing] Move interfaces to src/core/lib/load_balancing
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
AJ Heller
9d4e0e17fe
Revert "Windows IOCP implementation for the WindowsEventEngine ( #30389 )" ( #30466 )
...
This reverts commit 52402afdd4
.
2 years ago
AJ Heller
52402afdd4
Windows IOCP implementation for the WindowsEventEngine ( #30389 )
...
This is a partial fork of the windows iomgr code - specifically the IOCP and Socket pieces - with some improved architecture and encapsulation. And the start of a WindowsEventEngine.
Once this code is used in a gRPC TCP context, I imagine a few issues will shake out. Also, getting sanitizers set up with MSVC will take a bit of work (see a commit referencing abseil and MSVC bugs to hack around).
I forked the IomgrEventEngine's posix poller interfaces in the hope of negotiating compatibility between the platforms, but the interfaces diverged a fair bit, and I'm doubtful we'll be able to use these "pollers" generically in the same TCP code. Reunification might not happen, and that's probably fine, we'll see how similar the TCP code looks once it's fleshed out.
I also extracted the IomgrEventEngine's timer piece into a separate component, usable by both engines.
2 years ago
Craig Tiller
05e6bf2e4a
[build] Add test/core/util, test/core/event_engine to auto build deps ( #30364 )
...
* [build] Add test/core/util, test/core/event_engine to auto build deps
* deal with suppressions
* fix suppressions
* Automated change: Fix sanity tests
* fix
* fix
* fix
* fix
* progress
* Automated change: Fix sanity tests
* fix
* fix
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
6fc2511e4d
[resource_quota] Periodically return memory to central quota ( #30268 )
...
* [resource_quota] Periodically return memory to central quota
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* optionalize features
* fix periodic update behavior around initialization
* fix
* fix
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Mark D. Roth
90cc6fa706
xDS: upgrade the commit of the xDS protos that we're using ( #30318 )
...
* xDS: upgrade the commit of the xDS protos that we're using
* Automated change: Fix sanity tests
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2 years ago
Esun Kim
b37996d50e
Removed GRPC_ERROR_IS_ABSEIL_STATUS ( #30267 )
...
* Removed GRPC_ERROR_IS_ABSEIL_STATUS
* Remove error_internal.h
2 years ago
Craig Tiller
830940a103
[gprpp] Move time averaged stats to gprpp ( #30265 )
...
* move to gprpp
* use the shared thing
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
caf0a49e67
[build] Reland grpc_base autodeps ( #30235 )
...
* Revert "[build] Automate deps for grpc_base (#29995 )"
This reverts commit 5956fb8829
.
* fix merge
* Revert "fix merge"
This reverts commit 75d73ca362
.
* Revert "Revert "[build] Automate deps for grpc_base (#29995 )""
This reverts commit c3bec79a21
.
* [build] Reland grpc_base autodeps
* add note
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Mark D. Roth
4491ed26aa
BUILD: move work_serializer to its own build target ( #30255 )
...
* BUILD: move work_serializer to its own build target
* add autodeps tag
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2 years ago
AJ Heller
1076a7d447
Use AnyInvocable in EventEngine APIs ( #30220 )
2 years ago
Craig Tiller
1b5295a4a2
[iomgr] Remove executor/...
...
I've tried this before in #27445 and we found some internal usage of this code. Today I can find no such usage, so let's try again.
2 years ago
Mark D. Roth
a3afb81274
Second attempt: XdsClient: refactor transport code to make it injectable ( #30225 )
...
* Revert "Revert "XdsClient: refactor transport code to make it injectable (#30183 )" (#30223 )"
This reverts commit fa57b9d0bc
.
* fix deadlock seen internally
* Automated change: Fix sanity tests
* fix memory leak
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2 years ago
AJ Heller
fa57b9d0bc
Revert "XdsClient: refactor transport code to make it injectable ( #30183 )" ( #30223 )
...
This reverts commit bd9bc5fd3e
.
2 years ago
AJ Heller
71c0eb090a
Revert "[WIP] Use AnyInvocable in EventEngine APIs ( #30208 )" ( #30219 )
...
This reverts commit dbbf16f07a
.
2 years ago
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>
2 years ago
Mark D. Roth
bd9bc5fd3e
XdsClient: refactor transport code to make it injectable ( #30183 )
...
* XdsClient: refactor transport code to make it injectable
* clang-format
* Automated change: Fix sanity tests
* remove unnecessary dtor
* fix build
* re-add missing drain of WorkSerializer queue after receiving a message
* remove unused code
* fix memory leak
* Automated change: Fix sanity tests
* fix another memory leak
* fix unused parameter
* fix tsan failure
* Automated change: Fix sanity tests
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2 years ago
Yash Tibrewal
89f7534e43
Bump dev version 202207012203 ( #30177 )
...
* bump version to 1.49.0-dev
* regenerate projects
2 years ago
Esun Kim
27509c345c
Update upb to 20220621 ( #30156 )
...
* Update third_party/upb to e4635f223e7d36dfbea3b722a4ca4807a7e882e2
* Update grpc_deps
* Update src/upb/gen_build_yaml.py
* Regen projects
* Gen_upb_api
* Fix missing json files
* Fix missing textformat
* Fix missing upb/arena
* Sanitize
* Fix missing port_def
* Fix missing array.h
2 years ago
Esun Kim
dcf9612186
Upgrade Abseil to LTS 20220623.0 ( #30155 )
...
* Upgrade abseil to 20220623.0
* Fix subchannel include
2 years ago
Craig Tiller
6648dd7447
[slice] Remove dead code ( #30139 )
...
* Remove dead code
* More dead code
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
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>
2 years ago
Denny C. Dai
98eeb8ae5d
[gRPC/iOS] Remove libuv pod dependnecy from iOS cocoapod build ( #30096 )
2 years ago
Vignesh Babu
c03388853c
Revert "Revert "Creating a posix oracle event engine and a suite of event engine client tests"" ( #30060 )
...
* Revert "Revert "Creating a posix oracle event engine and a suite of event engine client tests (#29714 )" (#30042 )"
This reverts commit 1630efd8ab
.
* fix typos
2 years ago
Craig Tiller
24caf53835
Roll forward iomgr ee fork ( #30022 )
...
* Revert "Revert "[event-engine] Fork timer code (#29816 )" (#30020 )"
This reverts commit cda2127776
.
* fix-import
* [event_engine] Use durations for scheduling things
* fix
* Automated change: Fix sanity tests
* run-after
* fix
* Automated change: Fix sanity tests
* rename
* Automated change: Fix sanity tests
* format is changing, expunge corpus
* update api_fuzzer
* fix
* Automated change: Fix sanity tests
* fix
* review feedback
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Vignesh Babu
1630efd8ab
Revert "Creating a posix oracle event engine and a suite of event engine client tests ( #29714 )" ( #30042 )
...
This reverts commit 19e6a6d232
.
2 years ago
Vignesh Babu
19e6a6d232
Creating a posix oracle event engine and a suite of event engine client tests ( #29714 )
...
* Creating a posix oracle event engine and a suite of event engine client tests
* regenerate projects
* addressing review feedback
* creating a promise.h in src/core/lib/event_engine
* regenerate projects
* fix errors
* remove no_mac tag for posix oracle event engine test
* Automated change: Fix sanity tests
* fix a static_cast
* adding a no_windows tag
* fixing macos build and test issues
* adding some static_casts
* removing connection manager usage in client_test to improve readability
* fix nits
* fix minor typo
* fix sanity checks
* update fuzzing_event_engine_test to new api
* update event engine time type
Co-authored-by: Vignesh2208 <Vignesh2208@users.noreply.github.com>
2 years ago
AJ Heller
cda2127776
Revert "[event-engine] Fork timer code ( #29816 )" ( #30020 )
...
This reverts commit 977ebbef09
.
2 years ago
Craig Tiller
977ebbef09
[event-engine] Fork timer code ( #29816 )
...
* move files
* [event-engine] Fork timer code from iomgr
* progress
* thread-pool
* x
* fixes
* tests
* Automated change: Fix sanity tests
* x
* wip
* Automated change: Fix sanity tests
* timer-heap-test
* flesh-things-out
* wip
* Automated change: Fix sanity tests
* fix-test
* fix
* Automated change: Fix sanity tests
* fix
* fix windows
* Automated change: Fix sanity tests
* fix mac
* fix
* review feedback
* fix
* Automated change: Fix sanity tests
* fixes
* Automated change: Fix sanity tests
* review feedback
* Automated change: Fix sanity tests
* fix
* annotate
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
apolcyn
e6c6840db3
Revert "Reland bytestream removal ( #29911 )" ( #29964 )
...
* Revert "Reland bytestream removal (#29911 )"
This reverts commit 98dcba2807
.
* Automated change: Fix sanity tests
3 years ago
Alessio Buraggina
990bb66ebf
Add MacOS system roots loading support. ( #29957 )
...
This change includes:
* adding a cert file path for MacOS
* updating related test to run on MacOS too
* s/linux/supported/ since this now includes more platforms
* regenerating files affected by the name change
3 years ago
Craig Tiller
98dcba2807
Reland bytestream removal ( #29911 )
...
* Revert "Revert "Revert "Revert "[transport] Remove ByteStream (#29637 )" (#29890 )" (#29894 )" (#29910 )"
This reverts commit 713a1581d5
.
* fix
3 years ago
Craig Tiller
713a1581d5
Revert "Revert "Revert "[transport] Remove ByteStream ( #29637 )" ( #29890 )" ( #29894 )" ( #29910 )
...
This reverts commit 93cdc8b77e
.
3 years ago
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>
3 years ago
Craig Tiller
d53986657f
Revert "[transport] Remove ByteStream ( #29637 )" ( #29890 )
...
This reverts commit aacf0e252b
.
3 years ago
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>
3 years ago
Yash Tibrewal
5d9cdc8e67
xds: Add XdsLbRegistry ( #29756 )
...
* xds: Add XdsLbRegistry
* Formatting
* Fix upb output
* Allow alternative type url for Custom LBs
* Cleanup
* Reviewer comments
* Add some comments
* Reviewer comments
* Reviewer comments
* Reviewer comments
* Reviewer comments
* Fix tests
* Fix tests
* Fix tests
* Fix tests
* Fix tests
* Unused parameters
* Change to make TextFormat usage work internally
* Fix namespace qualification error
3 years ago
Richard Belleville
761bb3bfc3
Bump version to 1.48.0-dev (on master branch) ( #29829 )
...
* bump version to 1.48.0-dev
* regenerate projects
3 years ago
Craig Tiller
da7069e33d
[iwyu] rest of the owl: src/core/ext ( #29642 )
...
* [iwyu] rest of owl: src/core/ext, excluding binder
* merge
* Automated change: Fix sanity tests
* fix
* fix
* fix
* Automated change: Fix sanity tests
* review feedback
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Mark D. Roth
709dff9ca8
security and subchannel: implement UniqueTypeName and use it in these interfaces ( #29709 )
...
* implement UniqueTypeName API
* convert security code to use UniqueTypeName
* change subchannel data producer API to use UniqueTypeName
* sanitize
* add missing build dep
* fix credentials_test
* fix certificate_provider_store_test
* fix tls_security_connector_test
* attempt to fix windows build
* avoid unnecessary allocation
* work around MSVC 2017 bug
* sanity
* change factory to not be templated
* fix sanity
* fix bug in chttp2 connector that used server creds instead of channel creds
* add missing build dep
* simplify API
3 years ago
Craig Tiller
9a46171833
Revert "Revert "[c++14] Remove Capture type ( #29327 )" ( #29748 )" ( #29749 )
...
This reverts commit d4aed9e615
.
3 years ago
Nicolas Noble
667691c499
server: per-rpc backend metric reporting ( #29621 )
...
Users can now report per-rpc metrics from servers to clients.
3 years ago
Craig Tiller
d4aed9e615
Revert "[c++14] Remove Capture type ( #29327 )" ( #29748 )
...
This reverts commit 944c0b2ce9
.
3 years ago
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.
3 years ago