@@ -62,15 +62,15 @@ at any given time, that detail isn't surfaced at this level of abstraction.
62
62
While the server is responsible for handling streams, the `` ClientTransport `` is
63
63
responsible for creating them. Client transports will typically maintain a
64
64
number of connections which may change over a period of time. Maintaining these
65
- connection and other background work is done in the `` ClientTransport/connect() ``
65
+ connections and other background work is done in the `` ClientTransport/connect() ``
66
66
method. Cancelling the task running this method will result in the transport
67
67
abruptly closing. The transport can be shutdown gracefully by calling
68
68
`` ClientTransport/beginGracefulShutdown() `` .
69
69
70
70
Streams are created using `` ClientTransport/withStream(descriptor:options:_:) ``
71
71
and the lifetime of the stream is limited to the closure. The handler passed to
72
72
the method will be provided by a gRPC client and will ultimately include the
73
- callers code to send request messages and process response messages. Cancelling
73
+ caller's code to send request messages and process response messages. Cancelling
74
74
the task abruptly closes the stream, although the transport should ensure that
75
75
doing this doesn't leave the other side waiting indefinitely.
76
76
@@ -85,8 +85,8 @@ the ``ClientTransport/retryThrottle`` and
85
85
### Streams
86
86
87
87
Both client and server transport protocols use `` RPCStream `` to represent
88
- streams of information. Each RPC can be thought of has having two logical
89
- streams, a request stream where information flows from client to server,
88
+ streams of information. Each RPC can be thought of as having two logical
89
+ streams: a request stream where information flows from client to server,
90
90
and a response stream where information flows from server to client.
91
91
Each `` RPCStream `` has inbound and outbound types corresponding to one end of
92
92
each stream.
0 commit comments