Craig Tiller
ae96af3780
Revert promise benchmarks ( #27551 )
...
* Revert "Update BUILD"
This reverts commit 4472c81232
.
* Revert "Promises benchmarks (#27291 )"
This reverts commit 47921ba5e8
.
3 years ago
Craig Tiller
47921ba5e8
Promises benchmarks ( #27291 )
...
* Promise benchmark
* Automated change: Fix sanity tests
* fix leak
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
253d7076fc
Chunked vector type ( #27517 )
...
* chunked vector type
* Automated change: Fix sanity tests
* compile fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
82c99362b5
Rewrite memory quota management in C++ with Promises library ( #27327 )
...
* first pass new memory quota
* forget the ee stuff - it should be a wrapper on top
* beginning to finalize
* compiles
* basic tests pass
* fixes
* Automated change: Fix sanity tests
* merge
* Automated change: Fix sanity tests
* add rebind test
* flesh out the rest
* Automated change: Fix sanity tests
* add increase
* prog
* Automated change: Fix sanity tests
* allow cancellation during run
* fixes
* clang-format
* better allocation strategy
* better allocation strategy
* Automated change: Fix sanity tests
* Update memory_quota.cc
* format
* better comment
* remove block size - this is probably unnecessary complexity
* fmt
* cleanup
* size_t
* Automated change: Fix sanity tests
* fixes
* move makeslice into memoryallocator
* move makeslice into memoryallocator
* add container allocator, tests
* Automated change: Fix sanity tests
* fixes
* Automated change: Fix sanity tests
* add some docs
* Automated change: Fix sanity tests
* fix doc
* comment vector
* Automated change: Fix sanity tests
* fixes
* ditch the thread
* exec_ctx integration
* Automated change: Fix sanity tests
* progress!
* fuzzer
* initial_corpora
* Automated change: Fix sanity tests
* bigger_objects
* better-fuzzer
* add stress test
* Automated change: Fix sanity tests
* Remove unused header
* Iwyu
* Automated change: Fix sanity tests
* Portability fix, comment
* Fix unused arg
* Remove unused names
* Removed unused name
* Automated change: Fix sanity tests
* windows
* Automated change: Fix sanity tests
* cleanup
* fix-mac
* cleanup, eliminate atomicbarrier
* exclude some platforms
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
91a2db9bc2
Make deadline the first metadata trait ( #27468 )
3 years ago
Craig Tiller
9b41852a5e
channel_init --> core configuration system ( #27347 )
...
* channel_init --> core configuration system
* Automated change: Fix sanity tests
* fixes
* Automated change: Fix sanity tests
* fixes
* fixes
* eliminate grpc_base_c
* fixes
* fix merge
* fix
* update visibility
* fixes
* feedback
* fix comment
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
d1cecad651
ExecCtx based Activity wakeup mechanism ( #27454 )
...
* wakeup scheduler
* wakeup scheduler
* Automated change: Fix sanity tests
* Update exec_ctx_wakeup_scheduler_test.cc
* Remove unused name
* fix_build
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
c5172a134e
Fix build splitup for slices. ( #27452 )
...
* slice fix
* fix properlike
* Automated change: Fix sanity tests
* actually delete the code that should have been
* fixes
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
d4407b7e59
Revert "Remove dead code ( #27445 )" ( #27461 )
...
This reverts commit 693f36f91c
.
3 years ago
Craig Tiller
693f36f91c
Remove dead code ( #27445 )
...
* Remove dead code
* Automated change: Fix sanity tests
* build
* remove benchmark
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
ffa4365031
Separate common slice utilities, grpc_error into their own libraries ( #27441 )
...
* make error independent
* Separate grpc_error into its own library
This is forward work to move Closure, ExecCtx into their own libraries
in order to make use of them in the activity code for resource quota
wakeups.
* Automated change: Fix sanity tests
* fixes
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
87a973f01d
Add structurally aware fuzzing support ( #27405 )
...
* Add a dependency on libprotobuf-mutator
* Changes for structured fuzzing
* fuzznificent
* add a config that will build fuzzers
* bazel run --config=fuzzer_asan //path/to:fuzzer fuzzes!
* fixes
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fixes
* fix
* sanitizer fix
* fix directory
* regen stuff
* compile error
* remove fuzzers from cmake build
* Automated change: Fix sanity tests
* review feedback
* remove unnecessary load
* review feedback
* review feedback
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
66ae0d5c08
Separate slices from mdelems for static data ( #27372 )
...
* separate slice into internal and refcount, with refcount being the minimal base
* python3-ize
* Separate slices from mdelems for static data
Allows us to separate a small build target with just some slice basics
from the rest, which will help simplify the build system longer term.
Additionally exposed an opportunity to eliminate an init function.
Should also help in a month or so when it's time to jettison interned
metadata and slices entirely.
* fix compilation
* Automated change: Fix sanity tests
* fixes
* fixfixfix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
b669a3c521
Revert "Revert "a useful change ( #27381 )" ( #27411 )" ( #27412 )
...
This reverts commit 5db17f7350
.
3 years ago
Craig Tiller
5db17f7350
Revert "a useful change ( #27381 )" ( #27411 )
...
This reverts commit 11eb70bbed
.
3 years ago
Craig Tiller
11eb70bbed
a useful change ( #27381 )
...
* a useful change
* Automated change: Fix sanity tests
* fix
* fix
* QsortCompare it is!
* Automated change: Fix sanity tests
* add missing header
* clang-tidy fixes, tweak clamp to only use <
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
donnadionne
30b7f09508
Major bump core major version from 18.0.0 to 19.1.0 ( #27392 )
...
* Bump core version to 19.1.0
* Regenerate projects
3 years ago
Ta-Wei Tu
f7998db700
Migrate binder transport end-to-end tests to use the existing testing service ( #27179 )
...
* Use TestServiceImpl in binder end-to-end tests
* Fix TSAN warnings
3 years ago
donnadionne
b9a997be11
Bump version to v1.41.0 ( #27370 )
...
* Bump version to v1.41.x
* Regenerate projects
3 years ago
Craig Tiller
ce95fd2586
For-each loop for promises ( #27241 )
...
* For-each loop for promises
* Automated change: Fix sanity tests
* Fix older compilers
* Automated change: Fix sanity tests
* review feedback
* clang-tidy fixes
* clangfmt
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
8ee36d26bf
Move handshakers to core configuration system ( #27195 )
...
* Move handshakers to core configuration
* Automated change: Fix sanity tests
* fix memory ordering
* Update http_connect_handshaker.h
* slightly simpler code
* clangfmt
* review feedback
* review feedback
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Ta-Wei Tu
3df113f6d6
Add binder server ( #27036 )
...
Add `grpc::BinderServerCredentials()` and other related functionalities for the server to listen to binder transactions through a phony "binder port".
The APIs are temporarily placed in internal headers until the corresponding gRFC is merged.
3 years ago
Craig Tiller
999e36fb31
Rebuild HPACK encoder table as C++ ( #27192 )
...
* Rebuild HPACK encoder table as C++
* move comment
* incguards
* build
* Automated change: Fix sanity tests
* c++ initialization ftw
* Automated change: Fix sanity tests
* Add missing header
* Add missing header
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
3214be885d
Add initial pipe facility for promises ( #27202 )
...
* Add initial pipe facility for promises
* Automated change: Fix sanity tests
* fixes for windows?
* comment tests
* review feedback
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Mark D. Roth
d0cbf169bc
Fix retry code to hold refs to send_initial_metadata slices ( #27205 )
...
* add test proving that we fail to take refs to send_initial_metadart payload
* fix grpc_slice_from_copied_string() to take refs and grpc_metadata_batch_copy() to copy the mdelems when necessary
* fix criteria used to determine if mdelem is reffable
* add support for inline slices
* fix sanity
3 years ago
AJ Heller
2d16865693
Delete libuv-iomgr implementation and GRPC_UV build option ( #27188 )
...
This has been unmaintained for years, last supported in gRPC-core v1.24.
3 years ago
Tamir Duberstein
76e95f6afd
Generalize pthread TLS to any trivial type ( #27009 )
...
* Avoid copy constructor
```
src/core/lib/gpr/log_linux.cc:78:33: error: copying variable of type 'grpc_core::PthreadTlsImpl<long>' invokes deleted constructor
static GPR_THREAD_LOCAL(long) tid = 0;
^ ~
./src/core/lib/gpr/tls.h:64:3: note: 'PthreadTlsImpl' has been explicitly marked deleted here
PthreadTlsImpl(const PthreadTlsImpl&) = delete;
^
1 error generated.
```
* Generalize pthread TLS to any trivial type
Use multiple pthread keys for types larger than a machine word.
Implement generic timer TLS optimization on all platforms.
3 years ago
Craig Tiller
1ce8bd7067
Observable primitive for promises ( #27082 )
...
* promise sequences
* Activities for promises
* Observable primitive - single writer/multiple reader
* Automated change: Fix sanity tests
* dedup some code
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
12cd59426b
Latch synchronization primitive ( #27080 )
...
* promise sequences
* Activities for promises
* Latch synchronization primitive
* Wakeups between actors in the same activity
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Ta-Wei Tu
ab57f03b30
Reland: Import binder transport tests ( #27138 )
...
* Import binder transport tests
* Fix copybara import errors
* Add testonly labels
3 years ago
Ashitha Santhosh
1ff1f8fd83
SDK authorization filter. ( #26468 )
...
* SDK authorization filter.
3 years ago
Craig Tiller
90c4a2a5eb
Revert "Import binder transport tests ( #26970 )" ( #27126 )
...
This reverts commit 006464c57d
.
3 years ago
Ta-Wei Tu
006464c57d
Import binder transport tests ( #26970 )
...
This PR imports unit tests and end-to-end tests of binder transport from the internal repository. No further changes will be made to internal repository.
3 years ago
Craig Tiller
5cdaec9a4f
Promise Activities ( #26921 )
...
* promise sequences
* Activities for promises
* Automated change: Fix sanity tests
* review feedback
* review feedback
* review feedback
* review feedback
* review feedback
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
6a06f0cd4a
promise sequences ( #27058 )
3 years ago
Craig Tiller
46afdf9989
Add test and mitigation for clang 11 compiler bug ( #27073 )
...
* Add test and mitigation for clang 11 compiler bug
* document
* document
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Nicolas 'Pixel' Noble
69661fb82e
Regenerate projects
3 years ago
Yash Tibrewal
0ab13090e7
Nack certain unsupported fields in CertificateValidationContext ( #26880 )
...
* Nack certain unsupported fields in CertificateValidationContext
* Regenerate projects
* Reviewer comments
3 years ago
Craig Tiller
f292f001ee
Promise join combinator ( #26918 )
...
* Add construct/destruct helper functions
Will be used in upcoming promise implementation
* Poll type for promises library
* Library to talk about things that look like promises if you squint
* Helper code for promises to deal with status types generically
* Library to talk about things that make promises
* build
* Join combinator for promise library
* Changes to sync required for promise activities
* sanitized
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* Update basic_join.h
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
AJ Heller
d10617edb5
Move resource_user ownership into chttp2 transport/server/connector v2 ( #27032 )
...
Reintroducing PR #26643 , which was reverted in #27029
Fixed a memory leak and added a test that would have caught it (ASAN build): ca0c8c4
3 years ago
Craig Tiller
724ad871d4
Promise loop ( #26913 )
...
* Poll type for promises library
* Library to talk about things that look like promises if you squint
* Library to talk about things that make promises
* Promises loop construct
* build
* Changes to sync required for promise activities
* sanitized
* add comments
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
4c8a0d91c6
Call into plugin registry from config code ( #27041 )
...
* Call into plugin registry from config code
* Automated change: Fix sanity tests
* Remove unused name
* Remove unused name
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
46bd552337
Eliminate gen_legal_metadata_characters ( #27019 )
...
* eliminate gen_legal_metadata_characters
* 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>
3 years ago
AJ Heller
58f8f5ced3
Add macro to define gtest death_test_style using an older syntax ( #27042 )
...
This temporarily unblocks a related gtest upgrade. The ultimate goal is
to upgraade our gtest dependencies, but I don't have the cycles to
manage a potentially messy migration until at least next week. This PR
is coordinated with an internal change.
3 years ago
Craig Tiller
aacd32c721
Promise library context management helpers ( #26912 )
...
* Promise library context management helpers
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fixes
* Automated change: Fix sanity tests
* missing file
* Automated change: Fix sanity tests
* compatibility
* build
* Automated change: Fix sanity tests
* propagate
* Automated change: Fix sanity tests
* merge with head
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
4744aceb68
Promises race ( #26915 )
...
* Poll type for promises library
* Promises race construct
* Changes to sync required for promise activities
* Automated change: Fix sanity tests
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
cad2255d8c
First stab at config framework ( #27014 )
...
* First stab at config framework
* Automated change: Fix sanity tests
* add test for threaded initialization
* better test
* clang format
* better filenames
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
f5d3ed2db1
Revert "Move resource_user ownership into chttp2 transport/server/connector ( #26643 )" ( #27029 )
...
This reverts commit d1935a65a1
. Will be rolled forward with a fix.
3 years ago
AJ Heller
d1935a65a1
Move resource_user ownership into chttp2 transport/server/connector ( #26643 )
3 years ago
Craig Tiller
7ea742f3d5
Promise if construct ( #26914 )
...
* Poll type for promises library
* Library to talk about things that look like promises if you squint
* Library to talk about things that make promises
* Promises if construct
* build
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago