Add a 'bad certificate handler' to the new ChannelCredentials, which can
be used to override certificate validation (for example, to allow
auto-generated self-signed certificates during development).
Also fixed a bug in Server.shutdown().
Provide a hook for metadata providers that need to generate their
metadata for each RPC. An example is authorization, where the provider
may need to refresh a token before it can provide the header.
Add stackdriver logging examplei to demonstrate calling a Google API.
Updated other examples to protobuf 0.6.0 (protoc plugin 0.7.8).
Updated SDK requirement to Dart 1.24.3, which adds support for creating a SecurityContext that trusts built-in roots, and support for ALPN on macOS.
First stage of separating Connection from Channel. A Channel manages
multiple Connections, and chooses which Connection to send an RPC on.
In this change, the Channel still creates a Connection for each RPC.
Managing the Connection life-cycle comes in a later change.
Added ChannelOptions, which are used to specify options on a
ClientChannel. At the moment, only TLS options are supported.
Moved CallOptions from ClientChannel to a new Client stub base class.
Per-RPC call options are now specified on the stub instead of on the
channel, allowing several stubs with different options to share the same
channel.
Added support for TLS on the server side. TLS options are specified when
creating the Server.
Added an example showing how to send/receive custom metadata, and handle
call cancellation.
Implemented the remaining parts of metadata and cancel handling.
Addresses part of #8 and #12.