apolcyn
1a8d2b6760
API to cancel grpc_resolve_address ( #27883 )
...
Add an API to cancel grpc_resolve_address
3 years ago
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
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
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
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
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
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
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
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
Esun Kim
e246811e55
Add (void) to function calls returning absl::Status ( #27761 )
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
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
Craig Tiller
b669a3c521
Revert "Revert "a useful change ( #27381 )" ( #27411 )" ( #27412 )
...
This reverts commit 5db17f7350
.
4 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
4 years ago
Craig Tiller
5db17f7350
Revert "a useful change ( #27381 )" ( #27411 )
...
This reverts commit 11eb70bbed
.
4 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>
4 years ago
Esun Kim
91e0660638
Replace grpc_error* with grpc_error_handle ( #27311 )
...
* Replace grpc_error* with grpc_error_handle
* fix python build
4 years ago
Craig Tiller
fd233193ec
Encapsulate metadata aggregates ( #27262 )
...
* Encapsulate metadata aggregates
* Automated change: Fix sanity tests
* add const
* Automated change: Fix sanity tests
* add a comment about an awful api
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
4 years ago
Craig Tiller
ea389c00c2
Adjust include order per style guide ( #27175 )
...
Introduce clang-format configuration to sort includes closer to our rules.
4 years ago
Craig Tiller
dc701787e2
Convert HPACK encoder to C++ ( #27226 )
...
* 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
* Begin converting HPACK encoder to c++
* First pass conversion to c++
* fixes
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
4 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>
4 years ago
Craig Tiller
b062fcd5c6
Ensure consistency of include style for <grpc.* headers ( #27233 )
...
* Add a tool to ensure consistency in how grpc public headers are included
* Apply tool
* add to test suite
* isort
4 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
4 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.
4 years ago
AJ Heller
d1935a65a1
Move resource_user ownership into chttp2 transport/server/connector ( #26643 )
4 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>
4 years ago
Craig Tiller
bbea27de46
Reland HPACK parsing changes ( #26997 )
...
* Revert "Revert "HPACK Table --> C++ (#26851 )" (#26995 )"
This reverts commit 840bcce9c4
.
* fix bad parsing of trailing === in binary metadata
4 years ago
Craig Tiller
840bcce9c4
Revert "HPACK Table --> C++ ( #26851 )" ( #26995 )
...
This reverts commit 83bcb0cf2e
.
4 years ago
Craig Tiller
83bcb0cf2e
HPACK Table --> C++ ( #26851 )
...
* Buffer HPACK parsing until the end of a header boundary
HTTP2 headers are sent in (potentially) many frames, but all must be
sent sequentially with no traffic intervening.
This was not clear when I wrote the HPACK parser, and still indeed quite
contentious on the HTTP2 mailing lists.
Now that matter is well settled (years ago!) take advantage of the fact
by delaying parsing until all bytes are available.
A future change will leverage this to avoid having to store and verify
partial parse state, completely eliminating indirect calls within the
parser.
* maybe fixes
* xx
* fix boundary detection
* clang-format
* Revert "xx"
This reverts commit 258d712ed3
.
* fix tests
* add missed check
* fixes
* fix
* update tests
* fix benchmark
* properly unref
* optimize final slice refcounting
* cleanup bm_chttp2_hpack
* start
* new parser progress
* refinement
* get it compiling
* bug-fix
* build files
* clang-tidy
* fixes
* fixes
* fixes
* fix-leaks
* clang-tidy
* comments
* fix merge error
* Revert "Buffer HPACK parsing until the end of a header boundary (#26700 )"
This reverts commit 8bab3e4bf4
.
* streaming hpack parser start
* streaming parser
* clang-format
* Rework HPackTable into C++
* clang-tidy
* fix merge
* actually set the size of the entries array
* better
4 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>
4 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
4 years ago
Craig Tiller
613b90ba93
Revert "Buffer HPACK parsing until the end of a header boundary ( #26700 )" ( #26825 )
...
This reverts commit 8bab3e4bf4
.
4 years ago
Craig Tiller
8bab3e4bf4
Buffer HPACK parsing until the end of a header boundary ( #26700 )
...
HTTP2 headers are sent in (potentially) many frames, but all must be
sent sequentially with no traffic intervening.
This was not clear when I wrote the HPACK parser, and still indeed quite
contentious on the HTTP2 mailing lists.
Now that matter is well settled (years ago!) take advantage of the fact
by delaying parsing until all bytes are available.
A future change will leverage this to avoid having to store and verify
partial parse state, completely eliminating indirect calls within the
parser.
4 years ago
Craig Tiller
d3e5803cb2
Move HPACK parser to C++ ( #26689 )
...
This is a fairly low effort migration of the current codebase into a C++ class, instead of free standing C code.
It builds upon #26657 as a necessary first step.
I've tried to minimize any changes to semantics or logic in this change, except where required to get a minimal amount of encapsulation - which is the major aim of this change.
A future change in this series will buffer slices until all HPACK headers are in memory for a stream prior to decoding -- it's important to have an encapsulated API to the parser before doing so however (hence this CL).
The next change after that will be an almost complete rewrite of the parsing functionality -- since we'll have the total set of header bytes, we'll no longer need to support suspending decoding at arbitrary points. This will allow us to move to a simple recursive descent parser, eliminate a bunch of indirection in this code, and end up in a much more malleable place for when we start doing metadata API changes.
(we likely also end up with some good performance wins!)
4 years ago
Mark D. Roth
4c40ee3f78
move parse_address and sockaddr_utils out of iomgr directory ( #26077 )
...
* move parse_address and sockaddr_utils out of iomgr directory
* clang-format
* fix python
* fix for import
* fix build file for import
4 years ago
Esun Kim
460898f11c
Migrated from grpc_error_string to grpc_error_std_string ( #26068 )
...
* Added grpc_error_std_string
* Migrated to grpc_error_std_string
4 years ago
Esun Kim
ca945a58e9
Introduced grpc_error_handle ( #25902 )
...
- Define grpc_error_handle
- Replace grpc_error* with grpc_error_handle
4 years ago
Yash Tibrewal
e9de13e6ad
Adding test to make sure that http2 transport gets cleaned up ( #25714 )
...
* Add test to make sure that transports get destroyed
* Reviewer comments
4 years ago
AJ Heller
0e3a02e903
Revert "Remove the `urgent` argument from iomgr tcp read API ( #25494 )" ( #25592 )
...
This reverts commit a3398f9
. Justification: see b/181367644. tl;dr: assuming urgent==false does not hold in all situations.
4 years ago
AJ Heller
a3398f924c
Remove the `urgent` argument from iomgr tcp read API ( #25494 )
...
The urgent argument is a platform-specific flag that leaked into the (ideally) platform-independent HTTP/2 transport layer. In an effort to clean up the cross-platform API surface, it would be helpful if we can remove this argument from the TCP Read api without losing the performance optimization that was introduced along with it (see #18240 ).
4 years ago