201 Commits

Author SHA1 Message Date
ffa4ec7da2 Ensure that RoundRobin.Close() does not panic. (#1139) 2017-05-05 13:59:00 -07:00
f3b5bf53ce Make window size configurable. (#1210)
* Make window size configurable.
2017-05-05 13:26:56 -07:00
7ddf89f9b7 Fix doc 2017-05-04 10:30:28 -07:00
277e90a432 Client load report for grpclb. (#1200) 2017-04-27 10:43:38 -07:00
955c867061 Support proxy with dialer (#1098)
With this change, the default dialer checks environment variables to see if proxy is needed. If so, it dials to the proxy and does an HTTP CONNECT handshake.
2017-04-17 16:08:50 -07:00
bfa5dd27dc Client should update keepalive parameters upon receiving GoAway with … (#1169)
* Client should update keepalive parameters upon receiving GoAway with EnhanceYourCalm and debug data of too_many_pings.
2017-04-10 14:33:51 -07:00
0df08a7a03 :authority should include port number (#1123) 2017-03-28 11:09:23 -07:00
14a6be430b Add grpc.Version string and use it in the UA (#1144) 2017-03-24 11:29:02 -07:00
c5a5dbc500 Don't return an error from dial if the balancer returns no initial servers (#1112)
This modifies the WithBlock behavior somewhat to block until there is at least
one valid connection.  Previously, each connection would be made serially until
all had completed successfully, with any errors returned to the caller.  Errors
are now only returned due to connecting to a backend if a balancer is not used,
or if there is an error starting the balancer itself.

Fixes #976
2017-03-21 11:35:53 -07:00
0e71619115 making client consistent with server 2017-03-09 17:48:37 -08:00
a94b0948a3 Client should have a check on maximum size of received message size. 2017-03-09 16:58:23 -08:00
661dbbc817 conflict resolve 2017-03-06 13:19:09 -08:00
77204bfdf2 Add comment explaining why cancel is not called in success path after client transport is created 2017-03-03 16:46:26 -08:00
bc3cca9945 Implementation changes;Using an independent goroutine for keepalive checks. 2017-02-28 11:49:51 -08:00
336b4ea3cf post review update 2017-02-10 16:47:43 -08:00
c7430a063e Only override :authority for insecure dials 2017-02-09 10:46:00 -08:00
84bee50bda Add DialOption to overwrite :authority pseudo-header
The :authority pseudo-header for a gRPC Client defaults to the host
portion of the dialed target and can only be overwritten by providing a
TransportCredentials. However, there are cases where setting this header
independent of any tranport security is valid. In my particular case,
in order to leverage Envoy for request routing, the cluster/service name
must be provided in the :authority header. This may also be useful in a
testing context.

This patch adds a DialOption to overwrite the authority header,
even if TransportCredentials are provided (I'd imagine you'd only ever
need to specify one or the other).
2017-02-03 17:29:18 -08:00
0bdf059601 post review updates 2017-01-31 16:09:40 -08:00
5fcb58f02d post review updates 2017-01-30 11:32:54 -08:00
e78a1f396d conflict resolve 2017-01-27 11:18:35 -08:00
cb653e4b61 Change stats APIs (#1030)
Change stats API from one static handler to one handler per server or client.
2017-01-09 17:11:32 -08:00
49d2a88c27 Comment formatting 2017-01-06 17:18:22 -08:00
eeb6f5bade code cleaning 2017-01-06 16:52:37 -08:00
09aecb094e Add the initial service config support (#1009)
* Add the initial service config support

* start scWatcher later

* remove timeoutCh

* address the comments

* deal with dial timeout

* defer cancel for the newly created context for correct lifetime management

* fix the defer order

* added other 2 missing cancels
2016-12-19 16:31:00 -08:00
058907d033 refactored and rectified test failures 2016-11-18 13:55:04 -08:00
e58450b5d3 Keepalive client-side implementation 2016-11-17 17:50:52 -08:00
c31bccc236 add FailOnNonTempDialError to control if gRPC should fail on non-temp dial error 2016-11-15 11:14:07 -08:00
df5d48b597 fix comments 2016-11-09 17:35:47 -08:00
947e436ef4 return non temporary connection error if dialer returns non temprary errors 2016-11-09 17:25:46 -08:00
2d5f9a12ea grpclb: Support DropRequest 2016-10-18 18:08:32 -07:00
8930da46d0 grpclb: work with LoadBalanceToken 2016-10-13 16:54:33 -07:00
1a79a7e346 Use creds.Clone in balancer.start 2016-09-27 17:36:19 -07:00
f02984b7c6 Basic support of grpclb 2016-09-19 15:11:57 -07:00
a45515c6ca Log grpc.Address objects with %v, not %q
Structs should use %v; %q only makes sense for strings, chars, etc.
2016-09-12 15:09:10 -04:00
74f7afb1f9 Move balancer initialization into a goroutine 2016-09-08 15:13:50 -07:00
a00cbfeab5 Overwrite authority if creds servername is specified 2016-09-06 11:23:30 -07:00
61f62e0da6 Merge branch 'master' of https://github.com/grpc/grpc-go 2016-08-26 13:51:46 -07:00
1e47e17230 Support client side interceptor 2016-08-26 13:50:38 -07:00
dd5645bebf Avoid goroutine leak in clientconn
Prior to this change, it was possible for `DialContext` to return
`(nil, err)` without properly closing the `ClientConn`, resulting in an
unavoidable leak of the `resetAddrConn` goroutine.
2016-08-25 17:02:43 -04:00
6cc4c5785d refactor to simplify 2016-08-24 12:56:16 -07:00
9dbd95fe38 make the test failure consistent 2016-08-24 11:02:18 -07:00
7873a050d4 fix the test 2016-08-24 10:46:06 -07:00
7eae19acb7 fix the issue 2016-08-23 19:23:04 -07:00
60c350b0e9 Detach user-passed context (via DialContext(...)) with the context of ClientConn 2016-08-23 18:18:18 -07:00
f3ac95e6cd Check if cc.conns == nil before reading cc.conns 2016-08-18 16:43:58 -07:00
8a81ddda27 Merge pull request #831 from spencerkimball/spencerkimball/dial-with-context
Implement DialContext to afford caller option of managing cancelation
2016-08-17 11:18:27 -07:00
c72b08a774 Change errors returned by ac.wait() 2016-08-16 16:56:16 -07:00
b38541aeb0 Implement DialContext to afford caller option of managing cancelation 2016-08-16 16:57:59 -04:00
a9c8aebe90 Make non-failfast RPC get new transport instead of waiting 2016-08-12 13:03:09 -07:00
5e62f80ba8 resetTransport: log all transient errors when they occur
Previously, cancellation of the context would cause these transient
errors to be swallowed since the function would return before the
log line was reached.
2016-08-10 12:56:03 -04:00