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>
This patch introduces a factory to allow supporting custom xDS channel
creds. Three types currently supported (fake, insecure, google_default)
are registered by default for backward-compatibility.
* Empty principals checks for authenticated connection
* fix sanity check
* clang-format
* principals:[] will result in ANY
* minor correction after merging
* clang-format
* formatting
* clang-format
* remove unnecessary header
* Remove unnecessary target from BUILD
* Add a test for includes without paths
* fix path
* fix
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
* Fix XdsClient for multiple watchers on the same resource
* xds_end2end_test: Don't use XdsCredentials for XdsRbacNackTests
* Use separate response states for EDS and RDS resources
* Reviewer comments
* Reviewer comments
* Reviewer comments
* Remove blank link
* Reviewer comments
* RBAC Authorization Engine updates based on A41 proposal
* Fix headermatcher
* Support for metadata
* Maps host to :authority, special-case te and :method
* removes method hardcoding
* add factory methods
* minor formatting
* fix test
* formatting
* remove constructors
* fix api usage
* ReqServerName test in xds_end2end_test
* Initialize bool
* fix URI percent-encoding character set
* clean up and fix edge cases
* add ToString() method to URI parser with appropriate percent-encoding logic
* clang-format
* fix ordering for URI::QueryParam
* fix decoding edge cases in parsing
* generate upper-case hex digits, as per the RFC
* clang-format
* reuse offset variable
* xDS Federation: bootstrap and xds_resolver changes
* code review fixes
* fixing code review comments
* fixing code review comments
* fixing code review comments
* code review comments
* fixing code review comments
* First very basic test to make sure parsing and reconstruction work as
expected.
* clean up
* fixing logic error about authority
* fixing resource type parsing
* fixing code review comments
* simplify parsing!
* Parsing method signature update
* fixing code review comments
* clean up
* working progress for the test with generated bootstrap
* reorg the bootstrap file
* fixing tests
* Adding more to test authorities
* Added a test and it passes
* addressing code review comments
* code review comments to make parser cleaner and more efficient
* Merge in authority prefixes
* fixing sanity error and xds boostrap test error
* small fix
* Release all tests that pass; reduce scope for DeadUpdate
* Updated test strcuture and how to pass in the index for balancers to be
used as xds server uri and authority xds server uri
* code review comments
* code review fixes
* code review comment
* Making test structure changes
* fixing code review comments
* fixing code review comments
* Fixing test regression
* fixing bootstrap tests
* cleanup files
* enabling localhost:xxx for xds server; updated server tests and will fix
one more NameExpected test with testsetup.
* Finally removing fake reolsver for xds server
* Fixing bootstrap tests
* Rewrite builder
* Fixing code review comments
* fixing code review comments
* Fixing all tests to use Setup again
* fixing small sanity error
* Found the source of xds server nack test faiure and fix added
* small code review fixes
* Remove fake resolver! YAY!
* Fixing according to code review comments
* Setup plugin in bootfile
* Added more tests.
* Adding server test
* fixing a regression
* regression
* sanity fix
* fixing code review
* fixing code review comments
* Re-combine SecurityNaming tests.
* Add Rds new resource type and new tests
* Added PercentEncode test
* fixing code review comments
* refactor test a bit more
* fixing code review comments
* fixing according to code review comments
* fixing code review comments
* fixing code review comments
* modify api fuzzer code to disallow specification of grpc-timout metadata on the server side
* reverting changes to api_fuzzer and changing call.cc to drop grpc-timeout metadata on the server side
* tidying up code