Craig Tiller
0deb64d1f6
Move content-type, colon prefixed metadata to new system ( #28204 )
...
* Eliminate most of grpc_message metadata handling
* Eliminate most of host metadata handling
* Remove more callouts without fixing code
* fiiixes
* typo
* Automated change: Fix sanity tests
* try-shrink
* Automated change: Fix sanity tests
* size tweaks
* less tricks
* deunique
* commonize
* commonize
* Automated change: Fix sanity tests
* size tuning, fixes
* Automated change: Fix sanity tests
* fix
* size tuning, fixes
* remove constexpr
* fix
* reuse code
* fix
* tweak code
* more tweaks
* tell no lies
* fixes
* fixes
* Automated change: Fix sanity tests
* fix
* fix
* fix
* fix
* fix?
* fix binder
* fix
* fix
* fixes
* Automated change: Fix sanity tests
* fix
* initial refactoring
* optimize status encoding
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* content-type
* Automated change: Fix sanity tests
* clang-format
* fix
* Move colon prefixed metadata
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* try to fix windows failure
* try and scale sizes better
* ambiguity fix?
* wip metadatavalueasslice
* Fix status code for resource exhaustion
* Revert "Revert "Move a bunch of slice typed metadata to new system (#28107 )" (#28208 )"
This reverts commit 7717587063
.
* fix test
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* slice helper
* x
* noinline
* try and scale sizes better
* Automated change: Fix sanity tests
* fixes
* fix
* fix
* fixes
* fix build
* fix overflow
* progress
* Automated change: Fix sanity tests
* fix
* fix
* fix
* Automated change: Fix sanity tests
* fix
* fix
* fix
* compressor for path/authority
* Automated change: Fix sanity tests
* legalize
* status-enc
* fmt
* fix
* fix
* fix
* fix
* fix/opt
* fix
* fix
* fix
* fix
* Automated change: Fix sanity tests
* remove arg
* review feedback
* fix
* Small improvement in memory usage and performance
* Automated change: Fix sanity tests
* fix crash in alts
* review feedback
* fixes
* fixes
* fixes
* Automated change: Fix sanity tests
* speedup
* fix
* fix
* add comment
* add comment
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Ming-Chuan
6c16b24cfa
Reland binder transport fuzzers ( #28258 )
...
* Revert "Temporarily remove binder fuzzers it fails to build with old llvm (#27599 )"
This reverts commit 6b922f871f
.
* Migrate to protobuf based structured fuzzing
* Fix crash happening due to recent change
3 years ago
Mark D. Roth
ac70281e74
improve RPC status messages when name resolution fails ( #28091 )
...
* improve RPC status messages when name resolution fails
* fix tests
* clang-format
* fix rls_end2end_test
* fix build
* fix service_config_end2end_test
* fix too_many_pings_test
* fix tests
* fix client_channel to propagate resolution_note to LB policy
* improve comment
3 years ago
Craig Tiller
b95ed96b96
Revert "Revert "Move arena into resource quota ( #28008 )" ( #28292 )" ( #28293 )
...
This reverts commit 91edf92ce0
.
3 years ago
Ming-Chuan
c952e9be63
Revert "Revert "[BinderTransport] Send correct version to server and verify it ( #27990 )" ( #28090 )" ( #28168 )
...
This reverts commit ea49e4c73a
.
msan test failed before because the mock object returns uninitialized
value and the code tries to conditionally log when the value is wrong.
3 years ago
Craig Tiller
91edf92ce0
Revert "Move arena into resource quota ( #28008 )" ( #28292 )
...
This reverts commit ad424a2ebf
.
3 years ago
Craig Tiller
ad424a2ebf
Move arena into resource quota ( #28008 )
...
* new resource quota integration
* Automated change: Fix sanity tests
* fix
* fix
* fixes
* fixes
* fixes
* Automated change: Fix sanity tests
* fixes
* fixes
* Automated change: Fix sanity tests
* fixes
* fix
* fixes
* windows-fix
* fixes
* fixes
* fix
* fix-asan
* banned
* banned
* fixes
* clang-tidy-fix
* Automated change: Fix sanity tests
* fix-cronet
* review feedback
* review feedback
* Automated change: Fix sanity tests
* fixes
* bug fix
* fixes
* compile fix
* exclude megabyte size payloads from 1byte tests
* windows fix
* start moving ios
* keep moving windows
* Get windows compilation working.
* Automated change: Fix sanity tests
* better
* fixes
* remove slice buffer from memory_allocator.h
* Revert "remove slice buffer from memory_allocator.h"
This reverts commit 234a63b6e3
.
* ugh
* #fixtests
* pthread tls fixes
* Automated change: Fix sanity tests
* fixfixfix
* xxx
* add reset
* review feedback
* fix
* fix
* fixes
* fix
* mac progress
* cpp-impl-of
* rename ptr
* Automated change: Fix sanity tests
* memory-owner-is-a-memory-allocator
* fixes
* fix
* fix from prod
* fix
* Fix issue leading to bad pointers being returned on Windows.
* Automated change: Fix sanity tests
* fix multislice bug
* argh
* hyrums law fixes
* hyrums law fixes
* clang-format
* hyrums law fixes
* Move arena into resource quota
* Remove redundant constant
* fixup the tests
* Automated change: Fix sanity tests
* fiiixes
* Automated change: Fix sanity tests
* fixes
* Automated change: Fix sanity tests
* fixes
* fix
* fix
* Automated change: Fix sanity tests
* fixes
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
e21505858f
Move some integer based metadata to the new system ( #28198 )
...
* Eliminate most of grpc_message metadata handling
* Eliminate most of host metadata handling
* Remove more callouts without fixing code
* fiiixes
* typo
* Automated change: Fix sanity tests
* try-shrink
* Automated change: Fix sanity tests
* size tweaks
* less tricks
* deunique
* commonize
* commonize
* Automated change: Fix sanity tests
* size tuning, fixes
* Automated change: Fix sanity tests
* fix
* size tuning, fixes
* remove constexpr
* fix
* reuse code
* fix
* tweak code
* more tweaks
* tell no lies
* fixes
* fixes
* Automated change: Fix sanity tests
* fix
* fix
* fix
* fix
* fix?
* fix binder
* fix
* fix
* fixes
* Automated change: Fix sanity tests
* fix
* initial refactoring
* optimize status encoding
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fix
* try to fix windows failure
* try and scale sizes better
* ambiguity fix?
* wip metadatavalueasslice
* Fix status code for resource exhaustion
* Revert "Revert "Move a bunch of slice typed metadata to new system (#28107 )" (#28208 )"
This reverts commit 7717587063
.
* fix test
* Automated change: Fix sanity tests
* slice helper
* x
* noinline
* try and scale sizes better
* Automated change: Fix sanity tests
* fixes
* fix
* fix
* fix build
* fix overflow
* fix
* fix
* fix
* fix
* review feedback
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Vignesh Babu
33aef08081
Add locks to synchronize access to shared variable in flow control test to prevent data race ( #28217 )
...
* protecting shared variable with locks to prevent tsan failures
* formatting code
* removing spurious header file
* adding absl annotations
3 years ago
Craig Tiller
672f31c6ac
Channel args preconditioning ( #28132 )
...
* Channel args preconditioning
* docs
* fixes
* Automated change: Fix sanity tests
* fix
* fix this again after merge error
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Mark D. Roth
0bdb4d650b
Revert "Revert "use CppImplOf for grpc_server ( #28112 )" ( #28130 )" ( #28144 )
...
This reverts commit eec0ca98c1
.
3 years ago
Mark D. Roth
eec0ca98c1
Revert "use CppImplOf for grpc_server ( #28112 )" ( #28130 )
...
This reverts commit 2ea8e50c3a
.
3 years ago
Craig Tiller
0794973bbb
Reland user-agent metadata work ( #28109 )
...
* Revert "Revert "user-agent metadata trait, also: grpc_core::Slice is born (#27770 )" (#28108 )"
This reverts commit 89d08dad9d
.
* will it blend
* will it blend
* will it blend
* lcnagfmt
* sanity
* will it blend
* sleep @ end
* will it blend
* Revert "sleep @ end"
This reverts commit d6bca8ed3d
.
* review feedback
* review feedback
3 years ago
Mark D. Roth
2ea8e50c3a
use CppImplOf for grpc_server ( #28112 )
...
* use CppImplOf for grpc_server
* fix build
* fix sanity
3 years ago
Jan Tattermusch
89d08dad9d
Revert "user-agent metadata trait, also: grpc_core::Slice is born ( #27770 )" ( #28108 )
...
This reverts commit 7a40f50cb3
.
3 years ago
Craig Tiller
7a40f50cb3
user-agent metadata trait, also: grpc_core::Slice is born ( #27770 )
...
* new slice api
* storage-classes
* Automated change: Fix sanity tests
* tweaks
* refinement
* refinement
* compiles
* Automated change: Fix sanity tests
* better impl
* convert to gtest
* clean
* fixes
* tests
* Automated change: Fix sanity tests
* more-tests
* clarity
* comments
* comments
* fixes
* comment-updates
* fixes
* spam
* Automated change: Fix sanity tests
* move transport size into transport!
* mebbefix
* fix type
* x
* fix-merge
* review feedback
* review feedback
* Automated change: Fix sanity tests
* meh
* review feedback
* fix
* resolve compile issue
* Remove slice_refcount dependency on RefCounted
* update init for channel_data in http_client_filter
* Automated change: Fix sanity tests
* remove banned function
* fixes
* will it blend
* will it blend
* fix refcount init
* fix
* fix comment
* Fix typo in bloat script
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
6af45a35ba
Tooling to remove redundant grpc_core:: namespace references ( #28030 )
...
* Tooling to remove redundant grpc_core:: namespaces
These references tend to show up in our C++ code after C modules get
converted. Many get caught in review, many get missed.
* use it
* clang-format
3 years ago
Craig Tiller
ea49e4c73a
Revert "[BinderTransport] Send correct version to server and verify it ( #27990 )" ( #28090 )
...
This reverts commit 92c34b8a82
.
3 years ago
Craig Tiller
a629c9a03e
Reland resource quota work ( #28017 )
...
* Check if memory owner available prior to polling it
The transport may drop the memory owner during its destruction sequence
* tcp_fix
* Revert "Revert "New resource quota integration (#27643 )" (#28014 )"
This reverts commit 0ea2c37263
.
* clang-format
* fix-path
* fix
3 years ago
Ming-Chuan
92c34b8a82
[BinderTransport] Send correct version to server and verify it ( #27990 )
...
We support wireformat version 1.
3 years ago
Craig Tiller
0ea2c37263
Revert "New resource quota integration ( #27643 )" ( #28014 )
...
This reverts commit 39f0877d25
.
3 years ago
Craig Tiller
39f0877d25
New resource quota integration ( #27643 )
...
* new resource quota integration
* Automated change: Fix sanity tests
* fix
* fix
* fixes
* fixes
* fixes
* Automated change: Fix sanity tests
* fixes
* fixes
* Automated change: Fix sanity tests
* fixes
* fix
* fixes
* windows-fix
* fixes
* fixes
* fix
* fix-asan
* banned
* banned
* fixes
* clang-tidy-fix
* Automated change: Fix sanity tests
* fix-cronet
* review feedback
* review feedback
* Automated change: Fix sanity tests
* fixes
* bug fix
* fixes
* compile fix
* exclude megabyte size payloads from 1byte tests
* windows fix
* start moving ios
* keep moving windows
* Get windows compilation working.
* Automated change: Fix sanity tests
* better
* fixes
* remove slice buffer from memory_allocator.h
* Revert "remove slice buffer from memory_allocator.h"
This reverts commit 234a63b6e3
.
* ugh
* #fixtests
* pthread tls fixes
* Automated change: Fix sanity tests
* fixfixfix
* xxx
* add reset
* review feedback
* fix
* fix
* fixes
* fix
* mac progress
* cpp-impl-of
* rename ptr
* Automated change: Fix sanity tests
* memory-owner-is-a-memory-allocator
* fixes
* fix
* fix from prod
* fix
* Fix issue leading to bad pointers being returned on Windows.
* Automated change: Fix sanity tests
* fix multislice bug
* argh
* hyrums law fixes
* hyrums law fixes
* clang-format
* hyrums law fixes
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Richard Belleville
468768865b
Make Buildifier Sanity Test Strict ( #27807 )
...
* Fix all lint errors in repo.
* Use strict buildifier by default
* Whoops. That file does not exist
* Attempt fix to buildifier invocation
* Add missing copyright
3 years ago
Ming-Chuan
e0f793b3d3
Expose experimental binder transport API ( #27632 )
...
* Expose experimental binder transport API
New headers are added
`grpcpp/create_channel_binder.h `: interfaces for creating client
channel
`grpcpp/security/binder_credentials.h`: interfaces for binder server
credentials
`grpcpp/security/binder_security_policy.h`: interfaces for binder
security policy, which is used by both server and client. Individual
security policies are merged into this single header.
Users can now depend on the `grpc++_binder` target to use the headers
listed above.
* Regenerate projects
3 years ago
Ming-Chuan
dcabe420cc
[BinderTransport] Create client channel instead of direct channel ( #27790 )
...
* [BinderTransport] Create client channel instead of direct channel
In this commit we create a client channel instead of direct channel.
BinderConnector is added to connect subchannel when the user actually
make RPC call using the channel.
BindToOnDeviceServerService() is not required anymore since now the
actual connection is delay until the channel is used.
* Regenerate projects.
3 years ago
Esun Kim
e246811e55
Add (void) to function calls returning absl::Status ( #27761 )
3 years ago
Ming-Chuan
4d61638857
Add endpoint binder pool for client channel creation ( #27755 )
...
The pool serves as a buffer for interaction between C++ and Java.
The buffer can let us avoid calling into Java code in channel connector
implementation (which has not been merged yet), simplifies interaction
between C++ and Java.
Temporary changes are made to channel_create.cc to keep the example apps
working but they will be rewrite after we start creating client channel
instead of direct channel.
3 years ago
Ming-Chuan
66d4e0ccb1
Consolidate binder targets into a single target in top-level BUILD file ( #27719 )
...
* Move binder targets into a single target in top-level BUILD file
* Regenerate projects
3 years ago
Craig Tiller
632cc4cc36
Make hpack tracing available in opt builds also ( #27728 )
3 years ago
Craig Tiller
1df153f46e
Revert "Revert "Move metadata setting into HPackParser ( #27545 )" ( #27686 )" ( #27688 )
...
This reverts commit 0e6ced8800
.
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
Ming-Chuan
f58f903a4f
Add helper function for getting endpoint binder in Java ( #27598 )
...
Also update the server side URI scheme to use path instead of authority
See gRFC L85-core-binder-transport.md for more details
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
Craig Tiller
d1e01ac139
Add a test for a (now-illegal) build file construct ( #27602 )
...
* Add a test for a (now-illegal) build file construct
* add to test suite!
* fix
* fix
* fix syntax
3 years ago
Ming-Chuan
6b922f871f
Temporarily remove binder fuzzers it fails to build with old llvm ( #27599 )
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
bed585bdcb
fix memory leak ( #27510 )
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
902836215a
Remove usage of some more metadata_batch apis ( #27463 )
...
* Remove usage of some more metadata_batch apis
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Ta-Wei Tu
b7f27209cf
Server fuzzer for binder transport ( #27122 )
...
* [binder] Add server fuzzer
* Add a crash reproducer related to #27321
* Address coments & fix bugs
* Rebase & Deal with merge conflicts
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
ffb2c5e599
Metadata: replace usage of grpc_metadata_batch_link_{head,tail} with Link{Head,Tail} method ( #27419 )
...
* Metadata: replace usage of grpc_metadata_batch_link_{head,tail} with Link{Head,Tail} method
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Esun Kim
47586fb36e
Revert "Revert "Added absl::Status support to error_utils ( #27358 )" ( #27418 )" ( #27429 )
...
This reverts commit 933676c56c
.
3 years ago
Craig Tiller
933676c56c
Revert "Added absl::Status support to error_utils ( #27358 )" ( #27418 )
...
This reverts commit 9b3f75d322
.
3 years ago
Craig Tiller
b669a3c521
Revert "Revert "a useful change ( #27381 )" ( #27411 )" ( #27412 )
...
This reverts commit 5db17f7350
.
3 years ago
Esun Kim
9b3f75d322
Added absl::Status support to error_utils ( #27358 )
3 years ago
Craig Tiller
9872da79a1
Eliminate grpc_metadata_batch_{init,destroy,move} ( #27349 )
...
* Eliminate grpc_metadata_batch_{init,destroy,move}
* fixes
* fixes
* fixes
* fixes
* portability fixes
* fixes
* fix
* fix
* fix
* be explicit about being explicit
3 years ago
Craig Tiller
5db17f7350
Revert "a useful change ( #27381 )" ( #27411 )
...
This reverts commit 11eb70bbed
.
3 years ago