Commit Graph

100 Commits

Author SHA1 Message Date
Menghan Li 1247834778 Allow multiple calls to setTrailer 2016-09-29 14:38:20 -07:00
Menghan Li 52f6504dc2 Merge pull request #867 from iamqizhao/master
Support client side interceptor
2016-09-02 15:12:15 -07:00
Menghan Li 5e734ab23e Avoid creating transport stream error outside of transport 2016-09-02 11:57:42 -07:00
iamqizhao 1e47e17230 Support client side interceptor 2016-08-26 13:50:38 -07:00
Menghan Li c72b08a774 Change errors returned by ac.wait() 2016-08-16 16:56:16 -07:00
Menghan Li d2b50c7ca5 Allocate clientstream after getTransport 2016-08-09 13:22:02 -07:00
Menghan Li 43cdc3c81c Finish clientstream when newclientsteram returns error 2016-08-08 16:27:22 -07:00
iamqizhao a4c08780d5 Merge branch 'master' of https://github.com/grpc/grpc-go 2016-07-29 10:10:58 -07:00
iamqizhao 80572b2739 fix the streaming rpc case 2016-07-28 16:45:48 -07:00
iamqizhao 8c908a8c1d Reject over-sized requests on server 2016-07-26 16:44:49 -07:00
iamqizhao 9ad4c58355 Make it work for streaming 2016-07-21 16:19:34 -07:00
iamqizhao 873cc272c2 support goaway 2016-07-20 18:48:49 -07:00
iamqizhao 0e86f69ef3 Merge branch 'master' of https://github.com/grpc/grpc-go 2016-07-19 16:29:15 -07:00
iamqizhao d2e79470cc client goaway support 2016-07-19 16:29:13 -07:00
Menghan Li d017580d29 Merge pull request #769 from iamqizhao/master
Fix an issue in #766
2016-07-19 16:19:02 -07:00
Michael McGreevy 36bd01e409 Clarify doc comment for ClientStream.Trailer by simplifying it.
Change-Id: I1ce494d753b6e48d23c4aa23b396d182f44d9c39
2016-07-19 14:20:15 +10:00
iamqizhao 8635e25ebb Specialize the io.EOF processing of server streaming 2016-07-18 14:57:52 -07:00
iamqizhao 0bfa80150a add a TODO 2016-07-15 15:43:42 -07:00
iamqizhao df0a2ae779 finish trace with the right status 2016-07-15 15:06:00 -07:00
iamqizhao c9f0b89a96 clean up underlying footprint when Stream.Done() is read 2016-07-15 14:53:49 -07:00
iamqizhao ec7eacfcc4 some fix 2016-07-15 11:02:03 -07:00
iamqizhao 0f1aeede97 do not cancel stream in http2_client.go, use done chanel instead 2016-07-14 18:38:43 -07:00
iamqizhao 7b7cb1ae8c fix bugs and flaky tests 2016-07-14 17:12:11 -07:00
Menghan Li ffdfb592e8 Fix type assertion error after rebase 2016-07-08 10:35:38 -07:00
iamqizhao be59d023f2 refactor error handling a bit 2016-06-29 15:21:44 -07:00
iamqizhao 213a20c4fe bug fix, typo fix and slight error refactoring 2016-06-28 16:08:19 -07:00
iamqizhao 3e71fb360d Support fail-fast mode and make it the default 2016-06-27 14:36:59 -07:00
joe2far 487ada6517 Fixed typos in docstrings 2016-06-07 12:01:07 +01:00
iamqizhao 0b1df3bca2 add BalancerGetOption 2016-05-24 17:19:44 -07:00
iamqizhao aa532d5baf Fix some issues and remove garbbage files 2016-05-16 15:31:00 -07:00
iamqizhao 44373898ac Merge branch 'master' of https://github.com/grpc/grpc-go 2016-05-06 15:47:17 -07:00
iamqizhao 9c2d8546bf load balancer 2016-05-06 15:47:09 -07:00
Sai Cheemalapati 27ecb91efa Fix typo 2016-04-29 14:58:02 -07:00
iamqizhao 61e92eacc3 Phase 1 to add the server interceptor 2016-04-18 16:18:34 -07:00
Xiang Li 11ef22ebfb make comment on invoke/sendmsg more clear 2016-04-01 10:47:25 -07:00
Anthony Yeh a294a45ba0 Don't treat StatusDesc() as a format string.
For example, if the error message contains "%v", then passing
StatusDesc() as the format string to Errorf() will replace "%v" with
"%!v(MISSING)".
2016-03-19 17:15:21 -07:00
Qi Zhao 89f694edb4 Merge pull request #569 from bradfitz/error_map
Fix crashes where transports returned errors unhandled by the message parser
2016-02-24 18:22:25 -08:00
Brad Fitzpatrick 110fd99e30 Fix crashes where transports returned errors unhandled by the message parser.
The http.Handler-based transport body reader was returning error types
not understood by the recvMsg parser. See #557 for some background and
examples.

Fix the http.Handler transport and add tests. I copied in a subset of
the http2 package's serverTest type, adapted slightly to work with
grpc. In the process of adding tests, I discovered that
ErrUnexpectedEOF was also not handled by the regular server
transport. Document the rules and fix that crash as well.

Unrelated stuff in this CL:

* make tests listen on localhost:0 instead of :0, to avoid Mac firewall
  pop-up dialogs.

* rename parser.s field to parser.r, to be more idiomatic that it's an
  io.Reader and not anything fancier. (it's not acting like type
  stream, even if that's the typical concrete type)

* move 5 byte temp buffer into parser, rather than allocating it for
  each new message. (drop in the bucket improvement in garbage; more
  to do later)

* rename http2RSTErrConvTab to http2ErrConvTab, per Qi's earlier
  CL. Also add the HTTP/1.1-required error mapping for completeness,
  not that it should ever arise with gRPC, also per Qi's earlier CL
  referenced in #557.
2016-02-24 15:09:17 -08:00
iamqizhao 5085c7628d Always close tracing when a stream goes wrong 2016-02-22 18:02:10 -08:00
David Symonds 10e70583f7 Fix typo. 2016-02-12 15:19:47 +11:00
iamqizhao af8888dc8d remove Compressor/DecompressorGenerator 2016-01-29 14:38:20 -08:00
iamqizhao 6d87263bd5 add test 2016-01-27 18:34:24 -08:00
iamqizhao 086f6de8a8 force flush headers frame for server streaming and bi-di streaming 2016-01-27 16:39:34 -08:00
iamqizhao 4258b32de7 Don't create buffer if compressor is nil 2016-01-25 11:47:04 -08:00
iamqizhao da3bb0c9f7 Support compression 2016-01-22 18:21:41 -08:00
iamqizhao 8e76d451dd Add missing trace finish on an uncommon code path 2016-01-14 17:01:22 -08:00
iamqizhao 7172d5c7a6 Still show trace for the client streams which failed to create 2016-01-14 14:53:07 -08:00
iamqizhao 59c74732bb Don't trace when failing to create a cleint stream 2016-01-14 14:38:45 -08:00
iamqizhao 47fc4a2936 Specialize connection error handling to avoid goroutine leaking in some cases 2016-01-14 12:24:00 -08:00
iamqizhao 7aa428f5d6 Finish trace for premature error 2015-11-30 16:41:52 -08:00