Setting the newly added compression_level field of
grpc_op::send_initial_metadata by a server now has the effect of
applying that compression level for the subsequent call messages leaving
the server. The ultimate meaning of the level depends on the client's
supported compression algorithms.
As opposed to a flat directory, we now have the following structure:
- security
-context
- credentials
- composite
- fake
- google_default
- iam
- jwt
- oauth2
- plugin
- ssl
- transport
- util
We have not refactored the test code yet but this PR is already large
enough...
Added the ability to create channels from client_channel_factory. This
will be used by the grpclb code to create the channels to communicate
with the LB servers.
- Creation of a load balancer now takes an execution context.
- load balancers are now passed addresses as arguments and are responsible for
the creation of the corresponding subchannels, something that used to be done
by the resolvers.
Starting to allow for >1 implementation of pollset within a binary.
Do so without requiring an extra allocation for completion queues (which
we could not tolerate).
- cleanup: change grpc_iomgr_cb_func to take a bool instead of int
success
- cleanup: follow through with iomgr callback scheduling functions
- prepare: add a workqueue to offload to to grpc_exec_ctx_enqueue*
functions