* Expand Table, BitSet API's
Add a population count to BitSet, use it to add a count() method to
Table to get the number of fields set.
Add a ForEach to Table so that it can be iterated
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
* Make generated code compile with -Wunused-parameters
-Wunused-parameters is turned on by -Werror -Wextra. gRPC code
generation creates header files with unused parameters. So let's modify
the generator to not generate code which will make -Wunused-parameters
unhappy.
* Fix unsigned vs signed comparisons and 32 bit string formats
Fix unsigned vs signed comparison warnings.
For 64 bit numbers printed in gRPC, the string formats assume that you
are running on a 64 bit machine. Use inttypes.h to make it portable.
Also, use size_t format strings for the same reason.
* Fix unaligned memory access
cost_entry_ptr has no alignment guarentees that ubsan can find. So it
fails the test with an alignment problem. Use memcopy to read the data
from the pointer to fix this.
* Fix undefined behavior with memcpy and memcmp
Passing in a 0 length piece of data and a null pointer is undefined
behavior. If the length is 0, don't pass it in. This fixes ubsan
failures.
* Clang-format
* Automated change: Fix sanity tests
* Make a suite of wakeup schedulers for tests
* add missing file
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
* Make MetadataMap a template
Ultimately we'll use MetadataMap template args to specify traits for the
builtin headers they support, but initially we're just gonna ignore
them to get the syntax in place.
Necessitates moving a bunch of logic from the .cc to the .h. I tried to
do so with the minimum number of code movements... ultimately most of
this will go.
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
* make error independent
* Separate grpc_error into its own library
This is forward work to move Closure, ExecCtx into their own libraries
in order to make use of them in the activity code for resource quota
wakeups.
* Automated change: Fix sanity tests
* fixes
* split out closure lib
* exec_ctx
* Make things compile
* Automated change: Fix sanity tests
* fix merge
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
* make error independent
* Separate grpc_error into its own library
This is forward work to move Closure, ExecCtx into their own libraries
in order to make use of them in the activity code for resource quota
wakeups.
* Automated change: Fix sanity tests
* fixes
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
* 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>
This introduces the new `Closure` type, and new cancellation semantics.
I've also fixed a few bugs in the EventEngine iomgr implementation that
had gone unnoticed.