169 Commits

Author SHA1 Message Date
d09ec43545 Implement unary functionality using streams (#1835) 2018-02-05 12:54:13 -08:00
424e3e9894 Stream: do not cancel ctx created with service config timeout (#1838) 2018-02-02 10:35:15 -08:00
5ba054bf37 encoding: Introduce new method for registering and choosing codecs (#1813) 2018-01-23 11:39:40 -08:00
6913ad5cae Document that all errors from RPCs are status errors (#1782) 2018-01-05 15:37:05 -08:00
c998149a22 Avoid copying headers/trailers in unary RPCs unless requested by CallOptions (#1775)
CPU profile shows that header copy takes a large proportion of CPU usage in a gRPC Call.
If the header is not needed, we don't need to pay the cost.
2018-01-03 09:13:06 -08:00
4e393e0b21 grpc: fix deprecation comments to conform to standard (#1691) 2017-12-18 09:23:42 -08:00
2ef021f78d New grpclb implementation (#1558)
The new grpclb supports fallback to backends if remote balancer is unavailable
2017-11-27 11:16:26 -08:00
6253aa9397 set context timeout when Timeout value >= 0 (#1678)
To be consistent with call.go/invoke

Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-11-20 13:49:49 -08:00
816fa5b06f Add proper support for 'identity' encoding type (#1664) 2017-11-17 09:24:54 -08:00
8ff8683602 Implement transparent retries for gRFC A6 (#1597) 2017-11-06 13:45:11 -08:00
5db344a40a Introduce new Compressor/Decompressor API (#1428) 2017-10-31 10:21:13 -07:00
a4ff4e29c4 Get method string from stream (#1588) 2017-10-26 16:03:44 -07:00
a5986a5c88 Add functions to ClientConn so it satisfies an interface for generated code (#1599) 2017-10-20 14:21:31 -07:00
4bbdf230d7 New implementation of roundrobin and pickfirst (#1506) 2017-10-02 09:22:57 -07:00
894322f00c Dedicated goroutine for writing. (#1498) 2017-09-14 13:44:14 -07:00
8233e124e4 Add new Resolver and Balancer APIs (gRFC L9) (#1408)
- Add package balancer and resolver.
 - Change ClientConn internals to new APIs and adds a wrapper for v1 balancer.
2017-08-31 10:59:09 -07:00
e60698345e Fix context warnings from govet. (#1486)
Pre-req work for #1484
2017-08-29 11:04:15 -07:00
01089b2972 Remove buf copy when the compressor exist (#1427) 2017-08-25 12:26:38 -07:00
9d99afc2fd Automatic WriteStatus for RecvMsg/SendMsg error on server side (#1409)
automatically WriteStatus if there's any error when RecvMsg/SendMsg on server side.
2017-08-14 12:24:23 -07:00
86ec6baad9 Populate callInfo.peer object for streaming RPCs (#1356) 2017-07-11 13:56:13 -07:00
41d9b6ea2a Do not flush NewStream header on client side for unary RPCs and streaming RPCs with requests. (#1343)
If it's not client streaming, we should already have the request to be sent,
so we don't flush the header.
If it's client streaming, the user may never send a request or send it any
time soon, so we ask the transport to flush the header.

And flush header even without metadata
2017-07-05 16:51:14 -07:00
2f3320d9d6 Updated documentation of ClientStream. (#1320) 2017-06-23 13:57:58 -07:00
c6b9664180 Add goroutine safety doc on stream (#1313) 2017-06-15 15:24:17 -07:00
ddbf6c46a6 autofix license notice 2017-06-08 14:42:19 +02:00
6fecf2831a Reopening: Server shouldn't Fatalf in case it fails to encode. (#1276)
* Server shouldn't Fatalf in case it fails to encode.
2017-06-02 12:32:37 -07:00
843116533a Revert "Server shouldn't Fatalf in case it fails to encode. (#1251)" (#1274)
This reverts commit d5bc85c1e9a36225ecc02757efcc874e13962973.
2017-06-01 12:34:28 -07:00
d5bc85c1e9 Server shouldn't Fatalf in case it fails to encode. (#1251)
* Server shouldn't Fatalf in case it fails to encode.

* golint

* post-review update
2017-06-01 11:57:45 -07:00
4a7b4d033a minor fix 2017-05-19 16:38:37 -07:00
27ae1472a3 remove some todo comments 2017-05-19 14:55:35 -07:00
d19bbe846e change max message size functions name 2017-05-19 11:08:40 -07:00
35d77ea991 merge master, resolve conflicts 2017-05-15 13:54:22 -07:00
bdf9a640e4 add timeout test, add check or pointer filed in callOption, fix minor issues 2017-05-15 13:51:11 -07:00
88a73d35c9 Adding dial options for PerRPCCredentials (#1225)
* Adding dial options for PerRPCCredentials

* Added tests for PerRPCCredentials

* Post-review updates

* post-review updates
2017-05-11 11:07:38 -07:00
17760cfd5b Calling handleRPC with context derived from the original (#1227)
* Calling handleRPC with different context derived from the original context
* change comment for tagRPC and stats fields
2017-05-10 17:54:49 -07:00
3ea287058c Merge branch 'master' into service_config_pr 2017-05-07 16:49:32 -07:00
0914b46180 don't add defer func if stats handler is nil (#1214) 2017-05-02 10:16:45 -07:00
277e90a432 Client load report for grpclb. (#1200) 2017-04-27 10:43:38 -07:00
ecbc34aaca move server defaults, delete defer cancel() in stream.go 2017-04-26 17:39:57 -07:00
9c5f260e67 make max size a pointer type and initialize function a CallOption 2017-04-26 15:50:58 -07:00
983d8372ea update the merge of client api and sc 2017-04-21 16:18:59 -07:00
bab6b617b7 merge master 2017-04-21 16:07:34 -07:00
2d949be2fe Make sure all in-flight streams close when ClientConn.Close() is called. (#1136)
* Make sure all in-flight streams close when ClientConn.Close() is called.

* added test
2017-04-21 15:03:04 -07:00
cb02ab4d25 change error message from InvalidArgument to ResourceExhausted 2017-04-13 16:51:56 -07:00
8788b75675 merge master resolve conflicts 2017-04-13 16:28:15 -07:00
cd8432ec07 Move handling stats.End to clientStream.finish() (#1182)
* move handling stats.End to clientStream.finish()
* add stats test for streaming RPC not calling last recv()
2017-04-12 11:55:54 -07:00
fa2968617c Merge branch 'master' into service_config_pr 2017-04-06 14:12:34 -07:00
6f8b55318a fix the testMaxMsgSizeServerAPI failure 2017-04-06 14:08:04 -07:00
1d27587e10 Change status package to deal with concrete types instead of interfaces (#1171) 2017-04-06 11:41:07 -07:00
f1bb70facf gofmt 2017-04-05 15:08:25 -07:00
f02290b023 Merge branch 'master' into service_config_pr 2017-04-05 11:15:55 -07:00