Commit Graph

12 Commits

Author SHA1 Message Date
Vu Cong Tuan 69fab8eacb Fix many typos in doc
Signed-off-by: Vu Cong Tuan <tuanvc@vn.fujitsu.com>
2019-02-14 11:14:16 +07:00
Doug Fawley b63524639b fix minor punctuation noticed when editor removed spaces at end of line 2018-10-25 10:42:43 -07:00
Doug Fawley a62c530465 Add protocol handshake to 'READY' connectivity requirements
When security is disabled, not waiting for the HTTP/2 handshake can lead to
DoS-style behavior.  For details, see:
https://github.com/grpc/grpc-go/issues/954.  This requirement will incur an
extra half-RTT latency before the first RPC can be sent under plaintext, but
this is negligible and unencrypted connections are rarer than secure ones.

Under TLS, the server will effectively send its part of the HTTP/2 handshake
along with its final TLS "server finished" message, which the client must wait
for before transmitting any data securely.  This means virtually no extra
latency is incurred by this requirement.

Go had attempted to separate "connection ready" with "connection successful"
(Issue: https://github.com/grpc/grpc-go/issues/1444 PR:
https://github.com/grpc/grpc-go/pull/1648).  However, this is confusing to
users and introduces an arbitrary distinction between these two events.  It has
led to several bugs in our reconnection logic (e.g.s
https://github.com/grpc/grpc-go/pull/2380,
https://github.com/grpc/grpc-go/pull/2391,
https://github.com/grpc/grpc-go/pull/2392), due to the complexity, and it makes
custom transports (https://github.com/grpc/proposal/pull/103) more difficult
for users to implement.

We are aware of some use cases (in particular,
https://github.com/soheilhy/cmux) expecting the behavior of transmitting an RPC
before the HTTP/2 handshake is completed.  Before making behavior changes to
implement this, we will reach out to our users to the best of our abilities.
2018-10-25 10:32:52 -07:00
Eric Anderson f090194666 doc: Fully define GetState in connectivity state API 2017-11-08 11:36:19 -08:00
randvis 0a588c6453 Fix the incorrect number of states
There're five states: CONNECTING, READY, TRANSIENT_FAILURE, IDLE, SHUTDOWN.
2016-12-12 02:18:34 +08:00
Eric Anderson 05e8c9a8b7 Connectivity state FATAL_FAILURE doesn't exist; it is SHUTDOWN
In a previous version of the document we used FATAL_FAILURE instead of
SHUTDOWN. This was changed when there was no case that would cause a
fatal failure other than shutdown. However, one reference to the old
name was missed.
2016-05-09 15:07:55 -07:00
nmittler 25c21d8b2b Fixing type-o 2015-08-13 09:53:27 -07:00
Abhishek Kumar 33094a7c62 More fixes to GO_AWAY spelling 2015-06-15 09:53:41 -07:00
Abhishek Kumar 783ad1e9d1 Fixed Go_AWAY to GOAWAY 2015-06-15 09:52:33 -07:00
Abhishek Kumar 56514def9e Update connectivity-semantics-and-api.md 2015-06-12 11:22:41 -07:00
Abhishek Kumar b66f19f1e0 Update connectivity-semantics-and-api.md 2015-06-12 11:02:16 -07:00
Eric Anderson 9855a34e1a Add Connectivity doc
This is a faithful representation of the current version of the Google
Doc with only formatting changes.
2015-05-11 09:22:47 -07:00