AJ Heller
45959e7cc1
Revert "Make GetDefaultEventEngine return a shared_ptr ( #30280 )" ( #30558 )
...
This reverts commit 4df74f2b4c
.
2 years ago
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.
2 years ago
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
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
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
AJ Heller
e18d335b0e
Add common EventEngine Closure types ( #30438 )
...
* Add common EventEngine Closure types
These have been written a few times, so let's standardize on a spot for
them.
* sanitize
* format
2 years ago
Esun Kim
7360d2ea82
gtestify test/core/iomgr: partial reland ( #30373 )
...
* Revert "Revert "gtestify test/core/iomgr (#30209 )" (#30362 )"
This reverts commit c7c0ba6f32
.
* -_-
* Regen
2 years ago
Craig Tiller
c7c0ba6f32
Revert "gtestify test/core/iomgr ( #30209 )" ( #30362 )
...
This reverts commit 5b49a1b4bd
.
2 years ago
Esun Kim
5b49a1b4bd
gtestify test/core/iomgr ( #30209 )
...
* gtestify test/core/iomgr
2 years ago
Mark D. Roth
201213c681
client channel: add tests for authority override precedence ( #30172 )
...
* client channel: add tests for authority override precedence
* add unit test
* Automated change: Fix sanity tests
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2 years ago
Vignesh Babu
fbe051fb51
Forking the posix epoll1 poller for iomgr event engine ( #30135 )
...
* start
* Forking the posix epoll1 poller for event engine
* re-generate projects
* fix test
* fix sanity checks
* fix
* update fix
* more build issue fixes
* even more fixes
* add no_windows tag
* re-generate projects
* update comment
* cleanup
* Automated change: Fix sanity tests
* review comments
* fix tsan issue
* re-generate projects
* cleanup
* fix missing build dep
* fix mac build issue
* minor fix in test
* simplifying build graph
* re-generate projects
* fix macOS build issues
* review comments
* re-generate projects
* add missing generated file
* review comments
* fix sanity checks
* rename one more build target
* fix sanity checks
* retry fix sanity checks
Co-authored-by: Vignesh2208 <Vignesh2208@users.noreply.github.com>
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
Esun Kim
6bdc1810c9
gtestify test/core/slice ( #30198 )
...
* gtestify test/core/slice
* Fix
* fix
* fix
2 years ago
Esun Kim
34b380697d
gtestify test/core/http ( #30200 )
...
* Fix
* gtestify test/core/http
* Fix
* fix
2 years ago
Esun Kim
0f272f836d
gtestify test/core/gpr ( #30196 )
...
* fix
* gtestify test/core/gpr
* Fix
* fix
2 years ago
Esun Kim
57de9d7353
gtestify test/core/compression ( #30204 )
...
* gtestify core/compression
* Fix
2 years ago
Craig Tiller
b590d192dc
[build] Remove errant dependency ( #30291 )
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
Esun Kim
2cba5f80cf
gtestify test/core/transport ( #30210 )
...
* gtestify test/core/transport/
* Fix
* Fix2
* Fix
2 years ago
Esun Kim
89fedf9a9d
Rollback gtestified minimal_stack_is_minimal_test ( #30275 )
2 years ago
Esun Kim
c0ec55d2f1
gtestify test/core/util ( #30195 )
...
* Gtestify cmdline_test
* gtestify histogram_test
* Fix
2 years ago
Esun Kim
98c423503c
gtestify test/core/channel ( #30201 )
...
* gtestify test/core/channel
* Update by review
* Fix 2
2 years ago
Esun Kim
dfe6a8b903
gtestify test/core/gprpp ( #30197 )
...
* fix
* gtestify test/core/gprpp
* Update by review
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
Esun Kim
7dfd49429f
gtestify test/core/handshake ( #30207 )
...
* gtestify test/core/security (#30199 )
* fix
* gtestify test/core/security
* Fix
* Fix
2 years ago
Esun Kim
156ad18623
gtestify test/core/security ( #30199 )
...
* fix
* gtestify test/core/security
* Fix
2 years ago
Esun Kim
70a311b736
gtestify test/core/tsi ( #30211 )
...
* Fix
* test/core/tsi/alts/frame_protector
* Fix
* Fix
2 years ago
Esun Kim
87c0bb1a98
gtestify test/core/address_utils ( #30193 )
...
* Fix
* Fix
* Fix
* Fix
2 years ago
Esun Kim
508279bdd5
gtestify test/core/client_channel/resolvers ( #30203 )
...
* gtestify test/core/client_channel/resolvers
* Update by review
2 years ago
Esun Kim
4749078ecc
gtestify test/core/resource_quota ( #30215 )
...
* gtestify test/core/resource_quota
* Fix
2 years ago
Esun Kim
36102dc910
gtestify test/core/surface ( #30212 )
2 years ago
Craig Tiller
15ae89e1fc
[arena] Add ManagedNew(), gtest-ify test ( #30159 )
...
* [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
* review feedback
* use construct/destruct more
* Automated change: Fix sanity tests
* 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
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
Craig Tiller
9824e3355d
[event engine] Handle spurious wakeups ( #30092 )
...
* handle spurious wakeups
* disable on mac, win
* Automated change: Fix sanity tests
* Update timer_test.cc
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Vignesh Babu
a10e623494
Set uses polling to true for oracle_event_engine_posix_test ( #30097 )
...
* Set uses polling to true for oracle_event_engine_posix_test
* add a TODO
* Automated change: Fix sanity tests
Co-authored-by: Vignesh2208 <Vignesh2208@users.noreply.github.com>
3 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
3 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>
3 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
.
3 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>
3 years ago
AJ Heller
cda2127776
Revert "[event-engine] Fork timer code ( #29816 )" ( #30020 )
...
This reverts commit 977ebbef09
.
3 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>
3 years ago
Craig Tiller
840b38ccbc
Reland (again) fuzzing event engine ( #29948 )
...
* Revert "Revert "Reland fuzzing event engine (#29943 )" (#29947 )"
This reverts commit dd07751c03
.
* fix
3 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
720f9d65c9
[resource_quota] Periodic update tracker ( #29853 )
...
* [resource_quota] Periodic update tracker
Periodic update type that tries to do updates at some measurable
timescale without polling the current time every tick, instead trying to
approximate how many ticks will be required to fill the desired
duration.
The intent here is that we use this in RQ to donate memory back
periodically whilst keeping timer checks off the fast path.
* fix
* Automated change: Fix sanity tests
* review feedback
* fix
* fix
* review feedback
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
dd07751c03
Revert "Reland fuzzing event engine ( #29943 )" ( #29947 )
...
This reverts commit 72e65b03cf
.
3 years ago