Mark D. Roth
e20dfeccc2
upgrade xDS protos ( #27698 )
3 years ago
Mark D. Roth
69a978231b
start splitting up xds_end2end_test ( #27702 )
...
* move test xDS server to its own library
* move xds_end2end_test to xds subdir, and refactor CountedService
* add TODO
* fix sanity
3 years ago
Craig Tiller
1df153f46e
Revert "Revert "Move metadata setting into HPackParser ( #27545 )" ( #27686 )" ( #27688 )
...
This reverts commit 0e6ced8800
.
3 years ago
Yash Tibrewal
a61bb8ed5b
Move service config code out of client_client to its own target ( #27683 )
...
* Move service config code out of client_client to its own target
* Fix BUILD
* Fix test build
* Reviewer comments
* Reviewer comments
* Automated change: Fix sanity tests
* Reviewer comments
Co-authored-by: yashykt <yashykt@users.noreply.github.com>
3 years ago
Craig Tiller
0e6ced8800
Revert "Move metadata setting into HPackParser ( #27545 )" ( #27686 )
...
This reverts commit f57a1f7d8c
.
3 years ago
Craig Tiller
f57a1f7d8c
Move metadata setting into HPackParser ( #27545 )
...
* forward work to get append, limit check into parser
* further cleanup
* Remove chttp2_incoming_metadata_buffer
* Automated change: Fix sanity tests
* test fixes
* fix cronet
* wip
* first pass mementofication of parsing - libgrpc compiles
* further progress
* fixes
* fixes
* fix leak
* Automated change: Fix sanity tests
* fix leak
* fixes
* x
* improve fuzzer
* init ordering fix
* Update hpack_parser_table.h
* Update hpack_parser.cc
* Update hpack_parser_test.cc
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* i mustache myself why
* fix use after free
* Automated change: Fix sanity tests
* fixes
* eliminate second pass metadata - this is an illegal frame and fails the new parser
* handle mementos with size > sizeof(intptr_t)
* fix
* add parsed metadata header, test
* Automated change: Fix sanity tests
* fix includes
* phase1
* phase2
* Update parsed_metadata.h
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
a21ad2c296
Remove UDP code - it's unused ( #27595 )
...
* Remove UDP code - its unused
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
8d8d07139c
Fix client idle filter ( #27611 )
...
* trial-change
* compiles!
* added test
* Automated change: Fix sanity tests
* update test
* Fix slow idle detection
* review feedback
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
016ef6cede
Change reclaimer function signature ( #27649 )
...
* Fix fuzzer found leak in memory_quota
* Make reclamation functions know about cancellation
* fixes
* fix race
* Automated change: Fix sanity tests
* fixes
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
79ef60f079
Integrate new resource quota, event engine ( #27522 )
...
* Integrate new resource quota, event engine
* Automated change: Fix sanity tests
* windows fix
* Automated change: Fix sanity tests
* Update memory_allocator.h
* Automated change: Fix sanity tests
* first round review feedback
* review feedback
* Automated change: Fix sanity tests
* Update memory_quota.h
* get re-export formatted right
* Automated change: Fix sanity tests
* Update memory_allocator.cc
* Automated change: Fix sanity tests
* MemoryOwner has-a MemoryAllocator
* using fix
* review feedback
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Mark D. Roth
3d83dd3776
Revert "Revert "centralize handling of channel's default authority ( #27544 )" ( #27616 )" ( #27624 )
...
This reverts commit 0611f7c9b3
.
3 years ago
Ming-Chuan
332713a35a
Implement BinderTransport SecurityPolicies that requires no JNI ( #27573 )
...
This commit
1. Implements the security policies that does not require JNI. This
includes a security policy that always allow connection and a security
policy that allows connection when remote UID is the same us local UID.
2. Add security policy as an argument in our interfaces. Old interfaces
are temporarily preserved so compilation will not suddenly break when we
import the code to internal repo.
3. Pumping the security policy from the public interfaces to the code
that handles SETUP_TRANSPORT transaction.
4. Abort the transport setup when the security policy is not satisfied.
Since meaningful tests will require to be run in real Android
environment, we will implement it later. For now, this change is
manually tested with example APKs.
For security policies that need to invoke Java to check authorization,
we will implement them in later.
3 years ago
Mark D. Roth
0611f7c9b3
Revert "centralize handling of channel's default authority ( #27544 )" ( #27616 )
...
This reverts commit f0a0628795
.
3 years ago
Mark D. Roth
f0a0628795
centralize handling of channel's default authority ( #27544 )
...
* centralize handling of channel's default authority
* clang-format
* fix backup poller bug
3 years ago
Craig Tiller
a67a9a5cd5
Exclude microbenchmarks from cmake ( #27588 )
...
* Exclude microbenchmarks from cmake
* Trigger automation
* fix
3 years ago
Craig Tiller
84d9e7e9fa
Speed up microbenchmark tests ( #27584 )
...
* Speed up microbenchmark tests
* Automated change: Fix sanity tests
* Update grpc_benchmark_config.bzl
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
60a5e474b8
Reland promise benchmarks ( #27551 ) ( #27560 )
...
* Revert "Revert promise benchmarks (#27551 )"
This reverts commit ae96af3780
.
* fixes
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Esun Kim
1c6634ac44
Changed grpc_error_get|set_str to use std string instead of slice ( #27466 )
...
* Changed grpc_error_get|set_str to use std string
* Fix init order in tests with gtest
* Undo gtest-tify credentials_test
3 years ago
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
d2de5fe24b
Expand Table, BitSet API's ( #27465 )
...
* Expand Table, BitSet API's
Add a population count to BitSet, use it to add a count() method to
Table to get the number of fields set.
Add a ForEach to Table so that it can be iterated
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
65644a7bb6
Make a suite of wakeup schedulers for tests ( #27459 )
...
* Make a suite of wakeup schedulers for tests
* add missing file
* Automated change: Fix sanity tests
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
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
Craig Tiller
fb73292270
Promises: Fix composition problems of loops of seq ( #27337 )
...
* Promises: Fix composition problems of loops of seq
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
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
github-actions[bot]
5444bdfef5
Automated change: Fix sanity tests ( #27172 )
...
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
Craig Tiller
1ff6607736
Wakeup primitive between actors in the same activity ( #27081 )
...
* promise sequences
* Activities for promises
* Wakeups between actors in the same activity
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago