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
github-actions[bot]
b02dd55210
Automated change: Fix sanity tests ( #27156 )
...
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
764232fa13
Fixes for map ( #27079 )
...
* fixes for map
* fix bad merge
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
github-actions[bot]
e6ab378869
Automated change: Fix sanity tests ( #27148 )
...
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
f2f60f7716
Revert "Implement TraceFlag::Log ( #26954 )" ( #27145 )
...
This reverts commit 4d2b979b75
.
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
github-actions[bot]
aaae10e04d
Automated change: Fix sanity tests ( #27128 )
...
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
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
AJ Heller
4d2b979b75
Implement TraceFlag::Log ( #26954 )
...
Motivation: In debug builds, `DebugOnlyTraceFlag`s are hard-coded to be
disabled. This results in unreachable code paths that the compiler can
detect, which prevent us from enabling `-Wunreachable-code-aggressive`
on the builds.
This work aims to reduce the number of places that switch on
`trace_flag.enabled`.
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
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
Craig Tiller
59da7bc42a
Eliminate grpc_core::Atomic ( #27025 )
...
* Eliminate grpc_core::Atomic
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* initialize things
* fix include order
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
Co-authored-by: Mark D. Roth <roth@google.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