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
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
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
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
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
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
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
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
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
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
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
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
Craig Tiller
8ed20ae479
Promise map operator ( #26917 )
...
* Poll type for promises library
* Library to talk about things that look like promises if you squint
* Promise helpers, and basic type erasure
* Promise map operator - change return type via a function
* build
* Changes to sync required for promise activities
* sanitized
* Automated change: Fix sanity tests
* fixes
* fixes
* Automated change: Fix sanity tests
* fix build
* review feedback
* Automated change: Fix sanity tests
* comment
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
152b79144c
Extract HPACK Encoder Hash Map to a separate file ( #26973 )
...
* comments
* Extract hash map from hpack encoder
* Automated change: Fix sanity tests
* x
* x
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
71b2042c56
Promise factories ( #26990 )
...
* 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
* build
* Changes to sync required for promise activities
* sanitized
* remove bad comment
* possible windows fix?
* fix
* ugh
* comment fix
* fix build
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
2e56b42ada
Generic promise facilities ( #26916 )
...
* Poll type for promises library
* Library to talk about things that look like promises if you squint
* Promise helpers, and basic type erasure
* build
* Changes to sync required for promise activities
* sanitized
* Automated change: Fix sanity tests
* suppressions
* try to fix windows failure
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
bb4311baed
Add a utility to capture arguments by move even in C++11 ( #26923 )
...
* Add a utility to capture arguments by move even in C++11
* add test
* Automated change: Fix sanity tests
* missing file
* Automated change: Fix sanity tests
* better test
* Automated change: Fix sanity tests
* fmt
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
58d3161aac
Split the filter popularity counting into a separate module ( #26884 )
...
* split hpack encoder filter into a separate class
* chores
* fix
* Automated change: Fix sanity tests
* include guards
* add suppressions
* Update popularity_count_test.cc
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Yash Tibrewal
3e197acaa1
Limit initial window size increases and per-stream window delta ( #26342 )
...
* Limit initial window size increases/decreases by flow control windows of active streams
* Limit stream flow control window updates to maximum allowable
* Reviewer comments
* Alternative way
* Clean-up
* Add tests
* Remove unnecessary cq_verifier
* Generate projects
* Initialize recv_message
* Get around compilation issue
* Test size large
3 years ago
Craig Tiller
3d26032736
Poll type for promises library ( #26907 )
...
* Poll type for promises library
* sanitized
* suppressions
* Add a comment
3 years ago