Commit Graph

172 Commits

Author SHA1 Message Date
iamqizhao 01ef81a4d9 minor fix including removal of debugging logs, error code fix, etc. 2016-06-27 15:30:20 -07:00
iamqizhao 3e71fb360d Support fail-fast mode and make it the default 2016-06-27 14:36:59 -07:00
Qi Zhao 3efe7aef96 Merge pull request #713 from menghanl/split_authenticator_and_credentials
[API revision] Separate TransportAuthenticator and PerRPCCredentials
2016-06-09 14:57:55 -07:00
Menghan Li d9c8fb446d Change errCredentialsMisuse to errCredentialsConflict and errTransportCredentialsMissing 2016-06-08 13:53:41 -07:00
Menghan Li 59486d9c17 Rename TransportAuthenticator to TransportCredentials 2016-06-08 11:19:25 -07:00
Anthony Romano eada4fb145 clientconn: buffer waitC on Dial goroutine
Leaks a goroutine on dial timeout if unbuffered.
2016-06-07 15:47:54 -07:00
Menghan Li 3ffbd8e030 Rename Credentials to PerRPCCredentials 2016-06-06 17:28:10 -07:00
Menghan Li f0feaea314 Should be only one TransportAuthenticator 2016-06-06 16:35:41 -07:00
Menghan Li 6404c49192 Make TransportAuthenticator not embed Credentials 2016-06-06 16:24:46 -07:00
iamqizhao 3a6b72b858 add errNoAddr 2016-06-06 12:16:33 -07:00
iamqizhao 24a701cae7 revise the comments of WithTimeout 2016-06-06 12:13:00 -07:00
iamqizhao 404e9b67de dial time out 2016-06-06 12:08:11 -07:00
Dmitri Shuralyov e8316072cd Fix remaining instances of gRPC spelling.
According to http://www.grpc.io/faq/, the project is called gRPC. It's
already referred by that name in most places, except a few instances
where it's still "GRPC". Fix those to have consistency.
2016-06-02 18:00:07 -07:00
iamqizhao 2700f043b9 some small fixes 2016-06-01 14:09:21 -07:00
iamqizhao fca009f66f Fix some small comments 2016-05-26 15:11:33 -07:00
iamqizhao 817b48219c Fix a typo bug and handle stale addrConns 2016-05-26 14:20:31 -07:00
iamqizhao db887c9bcd rename controller 2016-05-25 18:17:23 -07:00
iamqizhao 9dc3da0633 make downErr for Balancer down closure 2016-05-25 11:28:45 -07:00
iamqizhao 0b1df3bca2 add BalancerGetOption 2016-05-24 17:19:44 -07:00
iamqizhao 5b484e4099 add Notify API; move the name resolving into Balancer 2016-05-23 19:25:01 -07:00
iamqizhao 5d62215b41 some minor fixes 2016-05-18 16:26:12 -07:00
iamqizhao 162d8d2d33 Tune Invoke behavior for the new Balancer. 2016-05-18 11:18:10 -07:00
iamqizhao e9e748b978 small fix and more comments 2016-05-17 17:18:54 -07:00
iamqizhao 65969fb499 lock optimization 2016-05-16 19:19:35 -07:00
iamqizhao 73ff8375a6 Remove debugging logs and add license. 2016-05-16 15:47:46 -07:00
iamqizhao aa532d5baf Fix some issues and remove garbbage files 2016-05-16 15:31:00 -07:00
iamqizhao 31ef3ef957 some touchups 2016-05-13 15:08:09 -07:00
iamqizhao f4b89fe44f some fixes 2016-05-13 13:27:35 -07:00
iamqizhao e3351672ba complete some unfinished error 2016-05-13 13:26:36 -07:00
iamqizhao 32eec1acef add comments 2016-05-12 18:52:24 -07:00
iamqizhao f93b6bbfb5 Merge branch 'master' of https://github.com/grpc/grpc-go 2016-05-12 17:43:51 -07:00
iamqizhao a1b60d7b43 Add the tests for balancer and resolver 2016-05-12 17:01:58 -07:00
Anthony Romano 46f2afd293 Interrupt retry Sleep() on client connection shutdown
Otherwise transportMonitor hangs around long enough after Close() that it
looks like a goroutine leak.
2016-05-12 13:14:22 -07:00
iamqizhao 19ded23951 graceful close and test 2016-05-10 19:29:44 -07:00
iamqizhao 9c2d8546bf load balancer 2016-05-06 15:47:09 -07:00
iamqizhao 9cec19a4d4 make setDefault(...) non-member function 2016-04-18 13:15:27 -07:00
Stephen J Day 8ef1dcabab backoff: make DefaultBackoffConfig a concrete value
To enforce immutability of the `DefaultBackoffConfig`, we've made it a
concrete value. While fields can still be set directly on the value,
taking a copy will not incidentally pull a reference to the variable.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-04-18 11:33:39 -07:00
Stephen J Day 9ff38e9093 backoff: set default values on BackoffConfig
Because most of the fields on `BackoffConfig` are unexported, correctly
using the config requires copying from the default. This sets the
defaults appropriately and falls back to a default if MaxDelay is
negative or zero.

Tests are added to ensure that the backoff is set correctly in common
use cases.

Signedroff-by: Stephen J Day <stephen.day@docker.com>
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-04-15 16:12:47 -07:00
Qi Zhao d07d0562ff Merge pull request #601 from stevvooe/backoff-strategy
backoff: allow configuration of backoff strategy
2016-04-11 10:32:33 -07:00
Stephen J Day 47b74a63a8 backoff: allow configuration of backoff strategy
The backoff function and parameters have been pulled up into an
interface `backoffStrategy`. The default parameters are now part of a
package variable `DefaultBackoffConfig`. The strategy is then plumbed
through `dialOptions`. As a result of this PR, the
maximum backoff delay can now be set using the `WithBackoffConfig` dial
option.

While the addition of strategy may seem premature, this allows one to
simply export `BackoffStrategy` and `WithBackoff` to allow arbirarily
configurable backoff strategies.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-04-07 20:17:57 -07:00
Tamir Duberstein 2a118f74a2 minor cleanup: simplify looping 2016-03-31 22:05:49 -04:00
Victor Vieux 047af78181 fix a few typos 2016-03-16 16:40:16 -07:00
iamqizhao 0be94ab3f5 fix a race between transport creation and wait returning 2016-02-22 16:26:15 -08:00
iamqizhao af8888dc8d remove Compressor/DecompressorGenerator 2016-01-29 14:38:20 -08:00
iamqizhao 61d7c39d4c comments and gofmt 2016-01-25 11:18:41 -08:00
iamqizhao da3bb0c9f7 Support compression 2016-01-22 18:21:41 -08:00
iamqizhao c1330e18aa some missing comments 2016-01-07 14:18:20 -08:00
iamqizhao f0ee5628a9 add more comments 2015-12-14 14:43:21 -08:00
iamqizhao 758cf3083a add comments to NotifyReset 2015-12-14 14:40:21 -08:00
iamqizhao 330d8f958c i) revise picker API and channel state API; ii) add unicastNamingPicker which supports custom name resolving. 2015-12-14 14:32:43 -08:00
Daniel Kwasnick 0fd544f256 Fix cc.Close() state race
Fix a race condition in which a Conn's state is set to TransientFailure after Close() has been invoked – Close() should irrevocably set state to Shutdown.
2015-11-10 14:02:38 -08:00
iamqizhao c0d1abc00e fix a comment 2015-10-08 14:22:00 -07:00
iamqizhao 390cd42894 revise Picker API 2015-10-08 11:05:59 -07:00
iamqizhao ec8414396c bug fix: stop busy wait on new transport 2015-10-08 09:09:06 -07:00
iamqizhao 9a7e50e3d9 remove unnecessary go statement 2015-10-02 16:04:55 -07:00
iamqizhao c01ea6e359 revise Picker API 2015-09-29 10:24:03 -07:00
iamqizhao 2899844430 fix a typo 2015-09-25 13:38:17 -07:00
iamqizhao 23fea5c44a comments 2015-09-25 13:32:35 -07:00
iamqizhao ec99a32572 redesign the API 2015-09-25 13:21:25 -07:00
iamqizhao ffbdf88f0f add more comments 2015-09-24 10:36:56 -07:00
iamqizhao 9afcd0c697 preliminary refactoring for custom naming and load balancing 2015-09-23 19:09:37 -07:00
Sameer Ajmani 980b4c6d05 grpc: restore changes after sync
Change-Id: I97f0c77f95086301202d0fe4ca477ae6e22dd0b5
2015-09-23 15:18:41 -04:00
iamqizhao e6b603d375 a bit clean up 2015-09-22 19:01:33 -07:00
iamqizhao ecf8201c7c remove a dead member var 2015-09-22 16:12:42 -07:00
iamqizhao dd992b3748 remove transportSeq 2015-09-21 18:17:49 -07:00
iamqizhao 804293ac57 Fix a reconnecting bug 2015-09-15 11:20:16 -07:00
Jeff Hodges b1c6afbc7f s/stated/started/ in Shutdown doc 2015-09-06 21:26:27 -07:00
iamqizhao 9ba820ef6a add tests 2015-08-28 13:50:04 -07:00
iamqizhao 87c361b5a5 check transport security when using oauth2-based credentials 2015-08-28 13:19:36 -07:00
iamqizhao 3b3b9b52cc polish 2015-08-27 22:03:38 -07:00
iamqizhao 456daaf3f1 extend ErrNoTransportSecurity message 2015-08-27 22:00:49 -07:00
iamqizhao 996538ab4b Insecure ClientConn made explicit 2015-08-27 17:21:52 -07:00
iamqizhao 7fbf442f72 gofmt -w 2015-08-03 13:24:14 -07:00
iamqizhao cf1376e56b revert some unnecessary changes 2015-08-03 13:18:25 -07:00
iamqizhao 8fc68cd569 small fix 2015-08-03 13:11:00 -07:00
iamqizhao 89ca9edced small fix 2015-08-03 11:45:42 -07:00
iamqizhao 08b3e19185 add a shortcut logic 2015-08-03 11:29:27 -07:00
iamqizhao 494b40089f polish the func comment 2015-08-03 11:19:25 -07:00
iamqizhao 14702f8b6a channel state API 2015-07-31 19:00:43 -07:00
iamqizhao 244bc75d79 Switch ALPN/NPN to advertise only h2 2015-07-31 14:16:02 -07:00
iamqizhao 923b849cb0 add a missing ClientConn state transition 2015-07-31 10:59:32 -07:00
iamqizhao f680d0b77d fix a typo 2015-07-30 15:36:59 -07:00
iamqizhao 76ef365255 Add ClientConn state 2015-07-30 15:30:26 -07:00
iamqizhao bce3d5e24b small fix 2015-07-28 11:24:31 -07:00
iamqizhao e35bf02914 revise reconnect backoff strategy 2015-07-28 11:12:07 -07:00
iamqizhao 611d960757 support user-agent and allow users attach their own application user agent string 2015-07-24 11:19:08 -07:00
iamqizhao 57b3fb41f6 add some more comments 2015-06-04 15:52:06 -07:00
iamqizhao e2677ad0f3 fix some comments 2015-06-04 15:47:02 -07:00
iamqizhao ec20a7b857 make dialing nonblocking by default. Add a DialOption to force blocking operation. 2015-06-04 15:45:06 -07:00
iamqizhao 8c6e829589 cleanup 2015-05-12 18:02:38 -07:00
iamqizhao 3617cd5ab3 revert handshaker changes 2015-05-12 17:59:20 -07:00
Peter Edge 7c025e8694 move log package references to grpclog 2015-05-09 11:43:59 +02:00
Peter Edge 101c1e1935 change log package references to grpc/log 2015-05-09 01:16:40 +02:00
iamqizhao 814627b32e add comments 2015-05-01 18:17:36 -07:00
iamqizhao 9d59a879e1 Add handshaker option to ClientConn 2015-05-01 18:10:40 -07:00
iamqizhao 5f7c0caeb4 modify the comment 2015-04-21 16:48:41 -07:00
iamqizhao 2cf2d0871b remove WithNetwork and add WithDialer to have more flexibility on dialing 2015-04-21 16:19:29 -07:00
iamqizhao 3259049490 fix some typos and run gofmt 2015-04-17 13:50:18 -07:00
iamqizhao c7b9fa27dc addressed some comments 2015-04-01 14:22:53 -07:00
iamqizhao 9a5de0e954 make Codec configurable when creating grpc.ClientConn and grpc.Server 2015-04-01 14:02:26 -07:00