* feat(core): Default encoding/decoding limits
This PR adds new defaults for both client and server max
encoding/decoding message size limits. By default, the max message
decoding size is `4MB` and the max message encoding size is
`usize::MAX`.
This is follow up work from https://github.com/hyperium/tonic/pull/1274
BREAKING: Default max message encoding/decoding limits
* update generated code
* tonic-health: commit generated code rather than generating at build time
This saves users from needing protoc available on their path if they're not
generating other tonic code at build time, either.
The generated modules can be regenerated by enabling the `gen-proto`
feature, which will trigger the relevant part of the build script.
* Check generated code for tonic-health matches in CI
* Use bootstrap test to generate/check validity of generated code
As suggested by @LucioFranco in https://github.com/hyperium/tonic/pull/1065\#discussion_r951580189.
This avoids the need for a feature which would show
up in docs.rs, and achieves the same goals via CI.
* Upgrade Tonic to Tokio 1.0
Work in progress for updating Tonic to Tokio 1.0. Since tower has not
been released to crates.io, a git dependency is taken instead.
* Upgrade Tonic to Tokio 1.0 phase 2
* tonic: remove tower-* deps
* Apply suggestions from code review
Co-authored-by: Ed Marshall <[email protected]>
Co-authored-by: Lucio Franco <[email protected]>
This commit adds a new crate `tonic-health` which implements the
[standard GRPC Health Checking][checking] protocol.
Currently there is only a server implementation, though others have
alluded in the discussion in #135 that client implementations exist
which could also be imported as necessary.
A example server has also been added - once the client work is done a
client for this should be added also.
[checking]: https://github.com/grpc/grpc/blob/master/doc/health-checking.mdFixes#135.