Loading Gopkg.lock +10 −4 Original line number Diff line number Diff line Loading @@ -655,16 +655,18 @@ revision = "02b4e95473316948020af0b7a4f0f22c73929b0e" [[projects]] digest = "1:5f31b45ee9da7a87f140bef3ed0a7ca34ea2a6d38eb888123b8e28170e8aa4f2" digest = "1:d141efe4aaad714e3059c340901aab3147b6253e58c85dafbcca3dd8b0e88ad6" name = "google.golang.org/grpc" packages = [ ".", "balancer", "balancer/base", "balancer/roundrobin", "binarylog/grpc_binarylog_v1", "codes", "connectivity", "credentials", "credentials/internal", "credentials/oauth", "encoding", "encoding/gzip", Loading @@ -672,8 +674,13 @@ "grpclog", "internal", "internal/backoff", "internal/binarylog", "internal/channelz", "internal/envconfig", "internal/grpcrand", "internal/grpcsync", "internal/syscall", "internal/transport", "keepalive", "metadata", "naming", Loading @@ -684,11 +691,10 @@ "stats", "status", "tap", "transport", ] pruneopts = "" revision = "168a6198bcb0ef175f7dacec0b8691fc141dc9b8" version = "v1.13.0" revision = "df014850f6dee74ba2fc94874043a9f3f75fbfd8" version = "v1.17.0" [[projects]] digest = "1:1c59d1f588f06f61d72480163b90a67f9380aca3d6c8ed6fee27d29a8d0ea515" Loading Gopkg.toml +1 −1 Original line number Diff line number Diff line Loading @@ -8,7 +8,7 @@ [[constraint]] name = "google.golang.org/grpc" version = "~1.13.0" version = "~1.17.0" [[constraint]] name = "github.com/go-yaml/yaml" Loading vendor/google.golang.org/grpc/.github/lock.yml 0 → 100644 +2 −0 Original line number Diff line number Diff line daysUntilLock: 180 lockComment: false vendor/google.golang.org/grpc/.travis.yml +26 −13 Original line number Diff line number Diff line language: go go: - 1.6.x - 1.7.x - 1.8.x - 1.9.x - 1.10.x matrix: include: - go: 1.10.x - go: 1.11.x env: VET=1 GO111MODULE=on - go: 1.11.x env: RACE=1 GO111MODULE=on - go: 1.11.x env: RUN386=1 - go: 1.11.x env: GRPC_GO_RETRY=on - go: 1.10.x - go: 1.9.x - go: 1.9.x env: GAE=1 go_import_path: google.golang.org/grpc before_install: - if [[ -n "$RUN386" ]]; then export GOARCH=386; fi - if [[ "$TRAVIS_GO_VERSION" = 1.10* && "$GOARCH" != "386" ]]; then ./vet.sh -install || exit 1; fi - if [[ "${GO111MODULE}" = "on" ]]; then mkdir "${HOME}/go"; export GOPATH="${HOME}/go"; fi - if [[ -n "${RUN386}" ]]; then export GOARCH=386; fi - if [[ "${TRAVIS_EVENT_TYPE}" = "cron" && -z "${RUN386}" ]]; then RACE=1; fi - if [[ "${TRAVIS_EVENT_TYPE}" != "cron" ]]; then VET_SKIP_PROTO=1; fi install: - try3() { eval "$*" || eval "$*" || eval "$*"; } - try3 'if [[ "${GO111MODULE}" = "on" ]]; then go mod download; else make testdeps; fi' - if [[ "${GAE}" = 1 ]]; then source ./install_gae.sh; make testappenginedeps; fi - if [[ "${VET}" = 1 ]]; then ./vet.sh -install; fi script: - if [[ "$TRAVIS_GO_VERSION" = 1.10* && "$GOARCH" != "386" ]]; then ./vet.sh || exit 1; fi - make test || exit 1 - if [[ "$GOARCH" != "386" ]]; then make testrace; fi - set -e - if [[ "${VET}" = 1 ]]; then ./vet.sh; fi - if [[ "${GAE}" = 1 ]]; then make testappengine; exit 0; fi - if [[ "${RACE}" = 1 ]]; then make testrace; exit 0; fi - make test vendor/google.golang.org/grpc/Documentation/keepalive.md 0 → 100644 +46 −0 Original line number Diff line number Diff line # Keepalive gRPC sends http2 pings on the transport to detect if the connection is down. If the ping is not acknowledged by the other side within a certain period, the connection will be close. Note that pings are only necessary when there's no activity on the connection. For how to configure keepalive, see https://godoc.org/google.golang.org/grpc/keepalive for the options. ## What should I set? It should be sufficient for most users to set [client parameters](https://godoc.org/google.golang.org/grpc/keepalive) as a [dial option](https://godoc.org/google.golang.org/grpc#WithKeepaliveParams). ## What will happen? (The behavior described here is specific for gRPC-go, it might be slightly different in other languages.) When there's no activity on a connection (note that an ongoing stream results in __no activity__ when there's no message being sent), after `Time`, a ping will be sent by the client and the server will send a ping ack when it gets the ping. Client will wait for `Timeout`, and check if there's any activity on the connection during this period (a ping ack is an activity). ## What about server side? Server has similar `Time` and `Timeout` settings as client. Server can also configure connection max-age. See [server parameters](https://godoc.org/google.golang.org/grpc/keepalive#ServerParameters) for details. ### Enforcement policy [Enforcement policy](https://godoc.org/google.golang.org/grpc/keepalive#ServerParameters) is a special setting on server side to protect server from malicious or misbehaving clients. Server sends GOAWAY with ENHANCE_YOUR_CALM and close the connection when bad behaviors are detected: - Client sends too frequent pings - Client sends pings when there's no stream and this is disallowed by server config Loading
Gopkg.lock +10 −4 Original line number Diff line number Diff line Loading @@ -655,16 +655,18 @@ revision = "02b4e95473316948020af0b7a4f0f22c73929b0e" [[projects]] digest = "1:5f31b45ee9da7a87f140bef3ed0a7ca34ea2a6d38eb888123b8e28170e8aa4f2" digest = "1:d141efe4aaad714e3059c340901aab3147b6253e58c85dafbcca3dd8b0e88ad6" name = "google.golang.org/grpc" packages = [ ".", "balancer", "balancer/base", "balancer/roundrobin", "binarylog/grpc_binarylog_v1", "codes", "connectivity", "credentials", "credentials/internal", "credentials/oauth", "encoding", "encoding/gzip", Loading @@ -672,8 +674,13 @@ "grpclog", "internal", "internal/backoff", "internal/binarylog", "internal/channelz", "internal/envconfig", "internal/grpcrand", "internal/grpcsync", "internal/syscall", "internal/transport", "keepalive", "metadata", "naming", Loading @@ -684,11 +691,10 @@ "stats", "status", "tap", "transport", ] pruneopts = "" revision = "168a6198bcb0ef175f7dacec0b8691fc141dc9b8" version = "v1.13.0" revision = "df014850f6dee74ba2fc94874043a9f3f75fbfd8" version = "v1.17.0" [[projects]] digest = "1:1c59d1f588f06f61d72480163b90a67f9380aca3d6c8ed6fee27d29a8d0ea515" Loading
Gopkg.toml +1 −1 Original line number Diff line number Diff line Loading @@ -8,7 +8,7 @@ [[constraint]] name = "google.golang.org/grpc" version = "~1.13.0" version = "~1.17.0" [[constraint]] name = "github.com/go-yaml/yaml" Loading
vendor/google.golang.org/grpc/.github/lock.yml 0 → 100644 +2 −0 Original line number Diff line number Diff line daysUntilLock: 180 lockComment: false
vendor/google.golang.org/grpc/.travis.yml +26 −13 Original line number Diff line number Diff line language: go go: - 1.6.x - 1.7.x - 1.8.x - 1.9.x - 1.10.x matrix: include: - go: 1.10.x - go: 1.11.x env: VET=1 GO111MODULE=on - go: 1.11.x env: RACE=1 GO111MODULE=on - go: 1.11.x env: RUN386=1 - go: 1.11.x env: GRPC_GO_RETRY=on - go: 1.10.x - go: 1.9.x - go: 1.9.x env: GAE=1 go_import_path: google.golang.org/grpc before_install: - if [[ -n "$RUN386" ]]; then export GOARCH=386; fi - if [[ "$TRAVIS_GO_VERSION" = 1.10* && "$GOARCH" != "386" ]]; then ./vet.sh -install || exit 1; fi - if [[ "${GO111MODULE}" = "on" ]]; then mkdir "${HOME}/go"; export GOPATH="${HOME}/go"; fi - if [[ -n "${RUN386}" ]]; then export GOARCH=386; fi - if [[ "${TRAVIS_EVENT_TYPE}" = "cron" && -z "${RUN386}" ]]; then RACE=1; fi - if [[ "${TRAVIS_EVENT_TYPE}" != "cron" ]]; then VET_SKIP_PROTO=1; fi install: - try3() { eval "$*" || eval "$*" || eval "$*"; } - try3 'if [[ "${GO111MODULE}" = "on" ]]; then go mod download; else make testdeps; fi' - if [[ "${GAE}" = 1 ]]; then source ./install_gae.sh; make testappenginedeps; fi - if [[ "${VET}" = 1 ]]; then ./vet.sh -install; fi script: - if [[ "$TRAVIS_GO_VERSION" = 1.10* && "$GOARCH" != "386" ]]; then ./vet.sh || exit 1; fi - make test || exit 1 - if [[ "$GOARCH" != "386" ]]; then make testrace; fi - set -e - if [[ "${VET}" = 1 ]]; then ./vet.sh; fi - if [[ "${GAE}" = 1 ]]; then make testappengine; exit 0; fi - if [[ "${RACE}" = 1 ]]; then make testrace; exit 0; fi - make test
vendor/google.golang.org/grpc/Documentation/keepalive.md 0 → 100644 +46 −0 Original line number Diff line number Diff line # Keepalive gRPC sends http2 pings on the transport to detect if the connection is down. If the ping is not acknowledged by the other side within a certain period, the connection will be close. Note that pings are only necessary when there's no activity on the connection. For how to configure keepalive, see https://godoc.org/google.golang.org/grpc/keepalive for the options. ## What should I set? It should be sufficient for most users to set [client parameters](https://godoc.org/google.golang.org/grpc/keepalive) as a [dial option](https://godoc.org/google.golang.org/grpc#WithKeepaliveParams). ## What will happen? (The behavior described here is specific for gRPC-go, it might be slightly different in other languages.) When there's no activity on a connection (note that an ongoing stream results in __no activity__ when there's no message being sent), after `Time`, a ping will be sent by the client and the server will send a ping ack when it gets the ping. Client will wait for `Timeout`, and check if there's any activity on the connection during this period (a ping ack is an activity). ## What about server side? Server has similar `Time` and `Timeout` settings as client. Server can also configure connection max-age. See [server parameters](https://godoc.org/google.golang.org/grpc/keepalive#ServerParameters) for details. ### Enforcement policy [Enforcement policy](https://godoc.org/google.golang.org/grpc/keepalive#ServerParameters) is a special setting on server side to protect server from malicious or misbehaving clients. Server sends GOAWAY with ENHANCE_YOUR_CALM and close the connection when bad behaviors are detected: - Client sends too frequent pings - Client sends pings when there's no stream and this is disallowed by server config