Craig Tiller
d139c4a014
[metadata] Add an experiment to ensure a unique refcount on parsed slice strings ( #33205 )
...
The intuition here is that these strings may end up in the hpack table,
and then unnecessarily extend the lifetime of the read blocks.
Instead, take a copy of these short strings when we need to and allow
the incoming large memory object to be discarded.
---------
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
1 year ago
Craig Tiller
0893fca089
[promises] Roll forward server promise calls with fixes ( #32261 )
...
* stuff
* spam-cleanup
* Revert "Revert "[promises] Server call (#31448 )" (#32260 )"
This reverts commit dbfb888e1f
.
* spam-cleanup
* Automated change: Fix sanity tests
* asserts-for-sanity
---------
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
dbfb888e1f
Revert "[promises] Server call ( #31448 )" ( #32260 )
...
* Revert "[promises] Server call (#31448 )"
This reverts commit bbeb15006a
.
* clang-fmt
2 years ago
Craig Tiller
bbeb15006a
[promises] Server call ( #31448 )
...
* add experiment
* allow instantiation
* scratchings
* scratchings
* sniffly
* Automated change: Fix sanity tests
* fix
* fix
* fix
* Automated change: Fix sanity tests
* progress
* change pipe labels to enable server code to be written
* better api
* Automated change: Fix sanity tests
* progress
* [promises] Implementation of deadline for server-based-calls
* compression filter compiles again
* Automated change: Fix sanity tests
* fix
* server tracing fixes
* get client initial metadata
* progress
* progress
* server call surface progress
* Automated change: Fix sanity tests
* move payload
* server-progress
* recv-message-server-connchan
* logging
* fix context-gate
* recv fix@top
* Automated change: Fix sanity tests
* recv close on server
* top termination start
* [promises] Move Empty to be first class
* fixes
* fix
* flow control fix
* got to orphan!
* orphan
* call orphan
* spam cleanup
* fix
* new cancelation semantics
* progress
* large metadata fixes
* fix
* fix
* log
* better logs
* fix-chanz
* logging, necessaryness
* fix typo
* fixes
* fix
* fix
* fix-pipe
* cleanup logging
* fix
* build-fix
* fix
* Automated change: Fix sanity tests
* logging
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* better primitive
* Revert "better primitive"
This reverts commit 119b5ee244
.
* fix
* fix
* trrracing
* Automated change: Fix sanity tests
* get-trailing-metadata
* cancellation
* Automated change: Fix sanity tests
* add transform pipeline to pipe
* add transform pipeline to pipe
* interceptor lists
* new server initial md api into filters
* convert connected_channel
* convert call
* initial promise based filter conversion
* convert promise based filter
* build fixes
* compile fix
* fixes
* fix ordering
* fixes
* check-metadata
* revert later: debug code
* better debug
* fix metadata ordering with messages in promise based filter
* fix ordering problem between batch completion and promise completion
* properly handle failure on receive message path on client
* more debug, fix a repoll bug in pbf
* Automated change: Fix sanity tests
* fixes
* Automated change: Fix sanity tests
* cleanup logging
* fixes
* missing file
* fixes
* logging
* Automated change: Fix sanity tests
* fixes
* convert logging filter
* fix
* Automated change: Fix sanity tests
* fix bad server response test
* Revert "Disable logging test (#32049 )"
This reverts commit 5fc92eaeae
.
* fix
* Automated change: Fix sanity tests
* fix memory leaks, logging
* Automated change: Fix sanity tests
* slice refcount debugging
* asan-canaries
* leak-fix
* leak-fix
* Automated change: Fix sanity tests
* fix
* fix
* fix
* fix
* fix
* Automated change: Fix sanity tests
* fix
* remove mistaken line
* add-comment
* fix refcounting bug
* Automated change: Fix sanity tests
* rename variable
* renames
* bleh
* carry pipe close status from bottom of pipe to top to appease
recv-close-on-server
* backport cancellation
* Revert "carry pipe close status from bottom of pipe to top to appease"
This reverts commit fa33301dcd
.
* fix
* Automated change: Fix sanity tests
* review-feedback
* comment-ordering
* monostate
* renames
* undo-review-feedback
* fix
* review-feedback
* review-feedback
* fix
* review-feedback
* drop debugloc constructor
* interceptor-list-rev-feedback
* interceptor-list-rev-feedback
* pipe test
* review-feedback
* undo-mistaken-change
* Automated change: Fix sanity tests
* pipe error state
* detect send/recv failures and report
* iwyu, build
* fix submodules
* fix
* warning
* cleanup
* Automated change: Fix sanity tests
* fix
* fix for windows
* fix
* null pointer fix
* iwyu
* gen projex
---------
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
ced640dd69
[slice] Remove mutable slice casts ( #32107 )
...
Any use of these are buggy - MutableSlice needs to do checks to ensure
that there's at most one writer to slice memory in order to be safe,
otherwise we could silently corrupt a reference held elsewhere in the
system.
The right way to use this would probably be
SliceCast<Slice>(whatever).TakeMutable().
2 years ago
Vignesh Babu
4f9ba0f49b
Expand SliceCast to support casts to MutableSlice type ( #31996 )
...
* Expand SliceCast to support casts to MutableSlice type
* update
2 years ago
Yijie Ma
f99b8b5bc4
Convert c-style comments to C++-style comments ( #31923 )
...
* baseline
* fix clang-tidy
* manually revert these files
* manually fixup at eof
* revert 2 more files
* change check_deprecated_grpc++.py
* change end2end_defs.include template
* fix check_include_guards.py
* untrack tools/distrib/python/convert_cstyle_comments_to_cpp.py
not yet ready to be submitted
* fix
yapf check_include_guards.py
remove a space...
* fix version.cc.template
* fix version_info.h.template
2 years ago
Craig Tiller
5664d6ee6b
[slice] Mutable slice cast ( #31959 )
...
* [slice] Mutable slice cast
* fix
2 years ago
Craig Tiller
72c296a3c2
[event_engine] Add SliceCast ( #31831 )
...
* [event_engine] Add SliceCast
* Automated change: Fix sanity tests
* windows-fix
* comments
* comments
* comments
* build-fix
* fix
* Update port_platform.h
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Cheng-Yu Chung
5fe132a211
Revert "Revert "Remove `include/grpc/impl/codegen/gpr_slice.h` ( #31774 )" ( #31805 )" ( #31806 )
...
This reverts commit 39a4343044
.
Fixing forward the original PR. The content should be the same as the original PR. The broken part is in the internal.
2 years ago
Cheng-Yu Chung
39a4343044
Revert "Remove `include/grpc/impl/codegen/gpr_slice.h` ( #31774 )" ( #31805 )
...
This reverts commit ac1dee8ac1
.
2 years ago
Cheng-Yu Chung
ac1dee8ac1
Remove `include/grpc/impl/codegen/gpr_slice.h` ( #31774 )
2 years ago
Cheng-Yu Chung
3ef817b3bf
Clean up the TODO item in build target `grpc_base` -- part `slice` ( #31003 )
...
* Clean up the TODO item in build target `grpc_base` part `slice`
* Automated change: Fix sanity tests
2 years ago
Esun Kim
250f9fc026
Revived google-readability-casting ( #31607 )
...
* Added google-readability-casting
* Fix
* Use brace init for constants
* more
* Fix
* Fix 2
* More fix
* Fixf
2 years ago
Yash Tibrewal
5f6c357e74
Move some targets from //: to //src/core: ( #31402 )
...
* temp
* temp
* temp
* top BUILD builds
* everything builds
* buildify
* temp fix_build_deps change
* fix gpr_atm
* additional changes
* fix build files
* nofixdeps
* Generate projects
* json_args
* fix context
* Generate projects
* Sprinkle some avoid_dep tags
* Run fix_build_deps
* Remove additional avoid_dep
* Revert some targets
* grpc_mock_cel
2 years ago
Craig Tiller
2ec220a6b1
[sanity] Fix it ( #31163 )
...
* fix sanity
* fix sanity
2 years ago
Craig Tiller
8174a75079
[iwyu] Add more test directories ( #30952 )
...
* [iwyu] Add more test directories
* fix
* fix
* fix
* fix
* fix
* Automated change: Fix sanity tests
* fix
* iwyu
* Automated change: Fix sanity tests
* fix
* fix
* fix
* fix
* Automated change: Fix sanity tests
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
9c98d67d7a
[c++14] absl::make_unique --> std::make_unique ( #31159 )
...
* [c++14] absl::make_unique --> std::make_unique
* fix
* fix
2 years ago
Craig Tiller
ebc4f236b6
[slice] Remove _internal variants of APIs ( #30953 )
...
* [slice] Remove _internal variants of APIs
* Automated change: Fix sanity tests
* fix
* reduce bloat
* fixes
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Esun Kim
097729125a
Removed a unnecessary function ( #31090 )
2 years ago
Craig Tiller
6575ae70b3
[slice] Ensure result is used in test ( #31083 )
...
Otherwise sufficiently good compilers may inline SumSlice, see that the result is not used, and discard the code that triggers the crash entirely.
2 years ago
Craig Tiller
05e6bf2e4a
[build] Add test/core/util, test/core/event_engine to auto build deps ( #30364 )
...
* [build] Add test/core/util, test/core/event_engine to auto build deps
* deal with suppressions
* fix suppressions
* Automated change: Fix sanity tests
* fix
* fix
* fix
* fix
* progress
* Automated change: Fix sanity tests
* fix
* fix
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Esun Kim
6bdc1810c9
gtestify test/core/slice ( #30198 )
...
* gtestify test/core/slice
* Fix
* fix
* fix
2 years ago
Craig Tiller
6648dd7447
[slice] Remove dead code ( #30139 )
...
* Remove dead code
* More dead code
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
50ae54dd1c
[fuzzing] Run fuzzers a little bit as a test ( #29919 )
...
* [fuzzer] Add a script to sample fuzzers
* remember the script
* add ci
* bleh
* fix
* Update sample_fuzzers.sh
* tweak
* tweak
* tweak
* tweak
* tweak
* fix fuzzer found bug
* add explainer
* make it bold af
* limit max fuzzing time in addition to runs
3 years ago
Craig Tiller
eed6711be9
[build] Opt-in more targets to auto-dependency-checking ( #29739 )
...
* useful
* examine_stack, gpr_tls
* more
* more
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
d96edaf63c
[slice_buffer] Fix forward ( #29658 )
3 years ago
Craig Tiller
7798e3b741
[slice] Introduce grpc_core::SliceBuffer ( #29635 )
...
* A starter SliceBuffer implementation
* Add comments and fix sanity checks
* Minor fixes
* more minor fixes
* Addressing review comments and adding a slice_buffer_test
* fix sanity checks
* regenerate projects
* fixing undefined function error
* reverting changes from memory_allocator.cc and adding them to src/core/lib/slice/slice_buffer.cc to allow memory allocator lib to build correctly
* fix sanity checks
* adding an open source slice definition
* regnerate projects
* fix asan error
* Automated change: Fix sanity tests
* addressing review comments
* fix sanity checks
* regenerate projects
* update
* fix sanity checks
* Converting slice buffer to retarin ownership of the underlying ctype
* [slice_buffer] Introduce grpc_core::SliceBuffer
* add test
* Automated change: Fix sanity tests
* missing files
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* sanity
Co-authored-by: Vignesh Babu <vigneshbabu@google.com>
Co-authored-by: Vignesh2208 <Vignesh2208@users.noreply.github.com>
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
5918f98ecb
[iwyu] Enable nosafe_headers ( #29591 )
...
* Add flag
* sweep1
* fixes
* speedup
* fixes
* fix
* fix
* fix
* Automated change: Fix sanity tests
* fix
* fix
* fix
* fix
* fix
* fix
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Vignesh Babu
6f3d7ccdb1
Modifying slice buffer add to merge two contiguous slices sharing the same refcount object ( #29466 )
...
* Modifying slice buffer add to merge two contiguous slices sharing the same refcount object
* sanity checks
* updating test
* fixing grpc_slice_buffer_add API misuse in proto utils
* fix sanity checks
* minor fix
3 years ago
AJ Heller
18a8f6aad9
Refactor end2end tests to exercise each EventEngine ( #29202 )
...
* Refactor end2end tests to exercise each EventEngine
* fix incorrect bazel_only exclusions
* Automated change: Fix sanity tests
* microbenchmark fix
* sanitize, fix iOS flub
* Automated change: Fix sanity tests
* iOS fix
* reviewer feedback
* first pass at excluding EventEngine test expansion
Also caught a few cases where we should not test pollers, but should
test all engines. And two cases where we likely shouldn't be testing
either product.
* end2end fuzzers to be fuzzed differently via EventEngine.
* sanitize
* reviewer feedback
* remove misleading comment
* reviewer feedback: comments
* EE test_init needs to play with our build system
* fix golden file test runner
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
3 years ago
Craig Tiller
74a2cb6e2b
Revert "Revert "Reland slice changes ( #28601 )" ( #28615 )" ( #28624 )
...
* Revert "Revert "Reland slice changes (#28601 )" (#28615 )"
This reverts commit 939bbfc336
.
* Change random seed back to nanoseconds
3 years ago
Craig Tiller
939bbfc336
Revert "Reland slice changes ( #28601 )" ( #28615 )
...
This reverts commit b33e0d40af
.
3 years ago
Craig Tiller
b33e0d40af
Reland slice changes ( #28601 )
...
* Revert "Revert "Eliminate slice interning (#28363 )" (#28598 )"
This reverts commit 03bf699600
.
* fix?
3 years ago
Jan Tattermusch
03bf699600
Revert "Eliminate slice interning ( #28363 )" ( #28598 )
...
This reverts commit 6703186b7a
.
3 years ago
Craig Tiller
6703186b7a
Eliminate slice interning ( #28363 )
...
Eliminate slice interning, and structures in slices to support it.
Reduces grpc_slice_refcount from 40 bytes (+ a required 8 bytes elsewhere) to 16 bytes.
Removes a pointer dereference for every slice ref/unref.
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
4b881c5947
Remove grpc_mdelem ( #28267 )
...
* 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
* initial work
* progress
* fix
* fix
* Automated change: Fix sanity tests
* progress
* fix
* fix
* fix
* Automated change: Fix sanity tests
* fix
* compressor for path/authority
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* legalize
* legalize
* status-enc
* fmt
* fix
* fix
* fix
* fix
* fix/opt
* fix
* fix
* fix
* fix
* Automated change: Fix sanity tests
* fix
* comment
* fmt
* remove arg
* Automated change: Fix sanity tests
* remove name
* Automated change: Fix sanity tests
* sketch
* Automated change: Fix sanity tests
* progress
* add specialized encoders for compression metadata
* progress
* review feedback
* fix
* missoing files
* remove crud
* xxxxx
* more
* Small improvement in memory usage and performance
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* Fix caching
* Automated change: Fix sanity tests
* omg
* fix crash in alts
* default everything
* Automated change: Fix sanity tests
* review feedback
* fixes
* fixes
* fixes
* Automated change: Fix sanity tests
* speedup
* fix
* fix
* clang-format
* fixes
* progress
* fixes
* fixes
* Automated change: Fix sanity tests
* fix
* fix
* progress
* update timeout encoding algorithm
* Automated change: Fix sanity tests
* fix
* fix
* review feedback
* progress
* progress
* progress
* progress
* builds
* Automated change: Fix sanity tests
* remove debug code
* fix ub
* unname things
* coax compilers
* reduce failures
* fix
* fix
* fix
* fix
* cleanup
* compile fix
* preserve concatenation rule
* spew
* fix
* fix
* postfix operator++ for msvc
* fix
* fix
* remove unused code
* lower cost of hpack table construction
* fix refcounting
* review feedback
* fixes
* fixes
* support multivalued traits
* Automated change: Fix sanity tests
* fix
* clearer clear
* appeasing 4.9
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
220cf641fa
Reland slice metadata conversion ( #28210 )
...
* 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
3 years ago
Craig Tiller
7717587063
Revert "Move a bunch of slice typed metadata to new system ( #28107 )" ( #28208 )
...
This reverts commit 4d432aefc1
.
3 years ago
Craig Tiller
4d432aefc1
Move a bunch of slice typed metadata to new system ( #28107 )
...
* 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
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
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
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
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
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
ea389c00c2
Adjust include order per style guide ( #27175 )
...
Introduce clang-format configuration to sort includes closer to our rules.
3 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
3 years ago
Craig Tiller
5dc93179eb
modernize % encoding routines ( #27018 )
...
* modernize % encoding routines
* Automated change: Fix sanity tests
* use bitset
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago