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
60c6b6bb3b
[promises] Inter-activity pipe ( #34188 )
...
Pipe-like type (has a send end, a receive end, and a closing mechanism)
for cross-activity transfers.
---------
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
1 year ago
Craig Tiller
361769c905
[promises] Add a bridge between callbacks and promises ( #33792 )
...
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
1 year ago
Craig Tiller
8bbd11ebed
[promises] New `Join`, `TryJoin` implementation ( #33995 )
...
Our current implementation of Join, TryJoin leverage some complicated
template stuff to work, which makes them hard to maintain. I've been
thinking about ways to simplify that for some time and had something
like this in mind - using a code generator that's at least a little more
understandable to code generate most of the complexity into a file that
is checkable.
Concurrently - I have a cool optimization in mind - but it requires that
we can move promises after polling, which is a contract change. I'm
going to work through the set of primitives we have in the coming weeks
and change that contract to enable the optimization.
---------
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
1 year ago
Craig Tiller
54651a7168
[promises] New `Seq`, `TrySeq` implementation ( #33991 )
...
Our current implementation of `Seq`, `TrySeq` leverage some complicated
template stuff to work, which makes them hard to maintain. I've been
thinking about ways to simplify that for some time and had something
like this in mind - using a code generator that's at least a little more
understandable to code generate most of the complexity into a file that
is checkable.
Concurrently - I have a cool optimization in mind - but it requires that
we can move promises after polling, which is a contract change. I'm
going to work through the set of primitives we have in the coming weeks
and change that contract to enable the optimization.
---------
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
1 year ago
Craig Tiller
b235f20f47
[promises] Make Sleep promise movable ( #33997 )
...
I have a cool optimization in mind for promises - but it requires that
we can move them after polling, which is a contract change. I'm going to
work through the set of primitives we have in the coming weeks and
change that contract to enable the optimization.
---------
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
1 year ago
Craig Tiller
ad41fe96b6
[promises] Re-enable C++ end2end tests (with fixes) ( #32837 )
...
Makes some awkward fixes to compression filter, call, connected channel
to hold the semantics we have upheld now in tests.
Once the fixes described here
https://github.com/grpc/grpc/blob/master/src/core/lib/channel/connected_channel.cc#L636
are in this gets a lot less ad-hoc, but that's likely going to be
post-landing promises client & server side.
We specifically need special handling for server side cancellation in
response to reads wrt the inproc transport - which doesn't track
cancellation thoroughly enough itself.
<!--
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.
-->
---------
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
8d2f70d53c
Reland "[promises] Convert call to a party" ( #32651 )" ( #32653 )
...
<!--
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.
-->
---------
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Yash Tibrewal
29ce6463d1
Revert "[promises] Convert call to a party" ( #32651 )
...
Reverts grpc/grpc#32359
2 years ago
Craig Tiller
a9873e8357
[promises] Convert call to a party ( #32359 )
...
<!--
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.
-->
---------
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
0d7b34451a
[promises] Make Poll<T> its own type, not a variant<> ( #32515 )
...
Avoids some compilation problems on older MSVC's, opens the door for
some future optimizations.
---------
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
0ecc18ef0f
[promises] Party: an activity with many participant promises ( #32308 )
...
<!--
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.
-->
---------
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
c9b47f8584
[promises] Remove TryConcurrently - it was the wrong idea ( #32298 )
2 years ago
Craig Tiller
0893fca089
[promises] Roll forward server promise calls with fixes ( #32261 )
...
* stuff
* spam-cleanup
* Revert "Revert "[promises] Server call (#31448 )" (#32260 )"
This reverts commit dbfb888e1f
.
* spam-cleanup
* Automated change: Fix sanity tests
* asserts-for-sanity
---------
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
dbfb888e1f
Revert "[promises] Server call ( #31448 )" ( #32260 )
...
* Revert "[promises] Server call (#31448 )"
This reverts commit bbeb15006a
.
* clang-fmt
2 years ago
Craig Tiller
bbeb15006a
[promises] Server call ( #31448 )
...
* add experiment
* allow instantiation
* scratchings
* scratchings
* sniffly
* Automated change: Fix sanity tests
* fix
* fix
* fix
* Automated change: Fix sanity tests
* progress
* change pipe labels to enable server code to be written
* better api
* Automated change: Fix sanity tests
* progress
* [promises] Implementation of deadline for server-based-calls
* compression filter compiles again
* Automated change: Fix sanity tests
* fix
* server tracing fixes
* get client initial metadata
* progress
* progress
* server call surface progress
* Automated change: Fix sanity tests
* move payload
* server-progress
* recv-message-server-connchan
* logging
* fix context-gate
* recv fix@top
* Automated change: Fix sanity tests
* recv close on server
* top termination start
* [promises] Move Empty to be first class
* fixes
* fix
* flow control fix
* got to orphan!
* orphan
* call orphan
* spam cleanup
* fix
* new cancelation semantics
* progress
* large metadata fixes
* fix
* fix
* log
* better logs
* fix-chanz
* logging, necessaryness
* fix typo
* fixes
* fix
* fix
* fix-pipe
* cleanup logging
* fix
* build-fix
* fix
* Automated change: Fix sanity tests
* logging
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* better primitive
* Revert "better primitive"
This reverts commit 119b5ee244
.
* fix
* fix
* trrracing
* Automated change: Fix sanity tests
* get-trailing-metadata
* cancellation
* Automated change: Fix sanity tests
* add transform pipeline to pipe
* add transform pipeline to pipe
* interceptor lists
* new server initial md api into filters
* convert connected_channel
* convert call
* initial promise based filter conversion
* convert promise based filter
* build fixes
* compile fix
* fixes
* fix ordering
* fixes
* check-metadata
* revert later: debug code
* better debug
* fix metadata ordering with messages in promise based filter
* fix ordering problem between batch completion and promise completion
* properly handle failure on receive message path on client
* more debug, fix a repoll bug in pbf
* Automated change: Fix sanity tests
* fixes
* Automated change: Fix sanity tests
* cleanup logging
* fixes
* missing file
* fixes
* logging
* Automated change: Fix sanity tests
* fixes
* convert logging filter
* fix
* Automated change: Fix sanity tests
* fix bad server response test
* Revert "Disable logging test (#32049 )"
This reverts commit 5fc92eaeae
.
* fix
* Automated change: Fix sanity tests
* fix memory leaks, logging
* Automated change: Fix sanity tests
* slice refcount debugging
* asan-canaries
* leak-fix
* leak-fix
* Automated change: Fix sanity tests
* fix
* fix
* fix
* fix
* fix
* Automated change: Fix sanity tests
* fix
* remove mistaken line
* add-comment
* fix refcounting bug
* Automated change: Fix sanity tests
* rename variable
* renames
* bleh
* carry pipe close status from bottom of pipe to top to appease
recv-close-on-server
* backport cancellation
* Revert "carry pipe close status from bottom of pipe to top to appease"
This reverts commit fa33301dcd
.
* fix
* Automated change: Fix sanity tests
* review-feedback
* comment-ordering
* monostate
* renames
* undo-review-feedback
* fix
* review-feedback
* review-feedback
* fix
* review-feedback
* drop debugloc constructor
* interceptor-list-rev-feedback
* interceptor-list-rev-feedback
* pipe test
* review-feedback
* undo-mistaken-change
* Automated change: Fix sanity tests
* pipe error state
* detect send/recv failures and report
* iwyu, build
* fix submodules
* fix
* warning
* cleanup
* Automated change: Fix sanity tests
* fix
* fix for windows
* fix
* null pointer fix
* iwyu
* gen projex
---------
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
2caa79feeb
[promises] Multi-producer, single-consumer for inter-activity comms ( #31927 )
...
* mpsc
* Automated change: Fix sanity tests
* tests
* tests
* Automated change: Fix sanity tests
* comments
* comments
* fix
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
9beb72836e
[event_engine+promises] EventEngine based wakeup scheduler for activities ( #31926 )
...
* eliminate activity* from wakers
* event engine activity wakeup scheduler
* Automated change: Fix sanity tests
* add exec ctx
* fix
* iwyu
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Cheng-Yu Chung
896bfe373f
Add missing included `try_seq.h` in `map_pipe.h` ( #31943 )
...
* Add missing included `try_seq.h` in `map_pipe.h`
* Automated change: Fix sanity tests
2 years ago
Craig Tiller
91083659fa
[promises] Cancellation callback ( #31863 )
...
* [promises] Cancellation callback
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
a116fa7e25
Revert "Revert "[chaotic-good] Reland basic frame serialization (#316… ( #31637 )
...
* Revert "Revert "[chaotic-good] Reland basic frame serialization (#31631 )" (#31635 )"
This reverts commit 4e2b936e88
.
* windows fix?
2 years ago
Craig Tiller
4e2b936e88
Revert "[chaotic-good] Reland basic frame serialization ( #31631 )" ( #31635 )
...
This reverts commit 571e98f6d5
.
2 years ago
Craig Tiller
571e98f6d5
[chaotic-good] Reland basic frame serialization ( #31631 )
...
* Revert "Revert "[chaotic-good] Basic frame serialization/deserialization (#31257 )" (#31630 )"
This reverts commit e8ac147311
.
* fix build
2 years ago
Craig Tiller
e8ac147311
Revert "[chaotic-good] Basic frame serialization/deserialization ( #31257 )" ( #31630 )
...
This reverts commit 8185a56322
.
2 years ago
Craig Tiller
8185a56322
[chaotic-good] Basic frame serialization/deserialization ( #31257 )
...
* [chaotic-good] initial sketch of frame serialization
* Automated change: Fix sanity tests
* tinkering
* fix up
* add tests,fuzzers
* more tests
* fix
* fuzzers
* Automated change: Fix sanity tests
* fix-build
* Automated change: Fix sanity tests
* fix inf loop
* fix refcounting bug
* fixdeps
* fix
* fix continuations
* iwyu
* fix build
* fix
* build fixes
* better split
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fixes
* iwyu
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
2f9ac46a5d
Revert "Revert "[promise] CallPushPull -> more general TryConcurrently ( #31429 )" ( #31480 )" ( #31481 )
...
* Revert "Revert "[promise] CallPushPull -> more general TryConcurrently (#31429 )" (#31480 )"
This reverts commit 821443e9b5
.
* fix
2 years ago
AJ Heller
821443e9b5
Revert "[promise] CallPushPull -> more general TryConcurrently ( #31429 )" ( #31480 )
...
This reverts commit 11a8f66cca
.
2 years ago
Craig Tiller
11a8f66cca
[promise] CallPushPull -> more general TryConcurrently ( #31429 )
...
* [promise] CallPushPull -> more general TryConcurrently
* Automated change: Fix sanity tests
* add comment
* simplify
* debugassert
* less vtable init
* smaller shared
* iwyu
* fix
* Automated change: Fix sanity tests
* fix
* fix
* fix miscompiles on windows'
* Automated change: Fix sanity tests
* fix
* iwyu
* Automated change: Fix sanity tests
* review feedback
* Automated change: Fix sanity tests
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
58c628a7ad
[promise] Introduce map_pipe, cleanup factories ( #31430 )
...
* [promise] Introduce map_pipe, cleanup factories
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Yash Tibrewal
5f6c357e74
Move some targets from //: to //src/core: ( #31402 )
...
* temp
* temp
* temp
* top BUILD builds
* everything builds
* buildify
* temp fix_build_deps change
* fix gpr_atm
* additional changes
* fix build files
* nofixdeps
* Generate projects
* json_args
* fix context
* Generate projects
* Sprinkle some avoid_dep tags
* Run fix_build_deps
* Remove additional avoid_dep
* Revert some targets
* grpc_mock_cel
2 years ago
Craig Tiller
b0a0e8983f
[promises] ForEach fixes ( #31300 )
...
* [promises] ForEach fixes
* Automated change: Fix sanity tests
* first pass fixes
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
0057598fed
[sleep] Add a test for robustness with errant event engines ( #30622 )
...
* [sleep] Make this robust against poorly implemented event engines
* Automated change: Fix sanity tests
* Reland x2: Make GetDefaultEventEngine return a shared_ptr
* x
* [sleep] Add test for sleep robustness with bad event engines
* Automated change: Fix sanity tests
* fix
* fix
* Automated change: Fix sanity tests
* Update sleep_test.cc
* Update mock_event_engine.h
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
Co-authored-by: AJ Heller <hork@google.com>
2 years ago
Craig Tiller
a23eae84c9
Revert "[flakes] Update flakiness ( #31121 )" ( #31173 )
...
This reverts commit bdc799af73
.
2 years ago
Craig Tiller
bdc799af73
[flakes] Update flakiness ( #31121 )
...
* update
* 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
bc4f98bb36
[build] Fixes for experiments, poll strategy ( #31042 )
...
* fix
* Automated change: Fix sanity tests
* fix
* fix
* fix
* fix
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
e705b2e3c7
[resource_quota] Move experiments to the experiments framework ( #30830 )
...
* fix
* fix tests
* fix
* Automated change: Fix sanity tests
* better expansion
* bleh
* fix
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
Cheng-Yu Chung
543b290203
Build Target Reorganization Part 1 ( #30518 )
...
* Clean up gpr_base
* Remove `avoid_dep` for target `gpr`
* Add alias `gpr_base` for `gpr` for compatibility
* Fix tool error
* Update
* Remove temporary `gpr_base`
* Remove unused `alt_gpr_base_legacy`
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
AJ Heller
5c743646e5
EventEngine::RunAt - promise/sleep ( #29726 )
...
* EventEngine::RunAt - promise/sleep
Also refactors time_util for easier conversion between
grpc_core::Timestamp/Duration to absl::Timestamp/Duration.
* move OnTimer to the state object
* generate_projects
* Automated change: Fix sanity tests
* undo time_util separation due to gpr_base dependency cycles
* less snark
* remove stale test & add missing unref
* Automated change: Fix sanity tests
* fix the auto-fixer's mistake (missing build dep)
* tidy
* rm Sleep::State
* Automated change: Fix sanity tests
* add missing exec_ctx into callback
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
Co-authored-by: Vignesh Babu <vigneshbabu@google.com>
3 years ago
Craig Tiller
9a46171833
Revert "Revert "[c++14] Remove Capture type ( #29327 )" ( #29748 )" ( #29749 )
...
This reverts commit d4aed9e615
.
3 years ago
Craig Tiller
d4aed9e615
Revert "[c++14] Remove Capture type ( #29327 )" ( #29748 )
...
This reverts commit 944c0b2ce9
.
3 years ago
Craig Tiller
944c0b2ce9
[c++14] Remove Capture type ( #29327 )
...
* Remove Capture type
* Automated change: Fix sanity tests
* update
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
AJ Heller
18a8f6aad9
Refactor end2end tests to exercise each EventEngine ( #29202 )
...
* Refactor end2end tests to exercise each EventEngine
* fix incorrect bazel_only exclusions
* Automated change: Fix sanity tests
* microbenchmark fix
* sanitize, fix iOS flub
* Automated change: Fix sanity tests
* iOS fix
* reviewer feedback
* first pass at excluding EventEngine test expansion
Also caught a few cases where we should not test pollers, but should
test all engines. And two cases where we likely shouldn't be testing
either product.
* end2end fuzzers to be fuzzed differently via EventEngine.
* sanitize
* reviewer feedback
* remove misleading comment
* reviewer feedback: comments
* EE test_init needs to play with our build system
* fix golden file test runner
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
3 years ago
Craig Tiller
736441f288
Call push/pull abstraction ( #29033 )
...
* push/pull impl
* comment
* fix
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
047642c5c4
Call finalization for promises ( #29008 )
...
* Call finalization for promises
* comment
* split out and test
* dont use promise_detail:: directly
* fix
* Automated change: Fix sanity tests
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
df943da2c4
Promise based sleeps ( #28722 )
...
* Promise based sleep
* Embrace absl::Status
* Automated change: Fix sanity tests
* Add another test, fix bug
* fix
* fix
* review feedback
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
d2d2d0650a
Allow MetadataMap to be a status in TrySeq ( #28490 )
...
* Enable metadata to be a 'status' for TrySeq
Begins to allow us to return trailing metadata and get the right
behaviors.
* comment
3 years ago
Craig Tiller
0bd1ab364b
Revert "Revert "Promise pipe redux ( #28319 )" ( #28364 )" ( #28400 )
...
* Revert "Revert "Promise pipe redux (#28319 )" (#28364 )"
This reverts commit 3df2a4ecea
.
* rephrase to be hopefully more readable to msvc
* golfing
3 years ago
Jan Tattermusch
3df2a4ecea
Revert "Promise pipe redux ( #28319 )" ( #28364 )
...
This reverts commit b9ea84ac9d
.
3 years ago