165 Commits

Author SHA1 Message Date
66a9140c20 make ServerOption panic messages more clear. (#1194)
ServerOption panics when fields that have been manually set are
subsequently set again.  The message verbiage of `X has been set` is
unclear since `has been set` without an adverb like `already` does not
correctly convey that the fields are set-once and were previously set.
At the worst, the original verbiage `X has been set` could imply that
the new value would have been acceptable but another error occurred.

We discovered this while conducting a code survey for implementing
extensible stubs and uniform inbound interception API.
2017-05-05 13:31:10 -07:00
f3b5bf53ce Make window size configurable. (#1210)
* Make window size configurable.
2017-05-05 13:26:56 -07:00
a40b8d44e0 Address the comments 2017-05-04 16:29:17 -07:00
7ddf89f9b7 Fix doc 2017-05-04 10:30:28 -07:00
0914b46180 don't add defer func if stats handler is nil (#1214) 2017-05-02 10:16:45 -07:00
74a632af0e fix comments 2017-04-06 17:28:41 -07:00
aad28b3c55 add error handling for InvalidArgument error from sendResponse() 2017-04-06 14:40:53 -07:00
1d27587e10 Change status package to deal with concrete types instead of interfaces (#1171) 2017-04-06 11:41:07 -07:00
b507112439 Add status package for reporting gRPC status and errors (#1156)
When an error implemented by the status package is returned from a service
handler, the server will transmit a rich status message in the
"grpc-status-details-bin" trailing metadata field if any detailed data is
attached to the error.  Client-side, we will decode them if present in the
server's response and return them to the user code performing the RPC.

This is backward compatible with the existing errors supported by the grpc
package.  However, the grpc.Errorf, grpc.Code and grpc.ErrorDesc functions for
managing errors are now deprecated; status.Errorf and status.Status type
asserions should be used instead.
2017-04-05 10:35:40 -07:00
b2fae0cf40 Implementation for server enforcement of keepalive policy. (#1147)
Implementation of server enforcement of keepalive policy.
Server will close connection with a client that violates this policy.
Policy parameters:
 - MinTime is the minimum amount of time a client should wait before sending a keepalive ping.
 - If PermitWithoutStream true, server expects keepalive pings even when there are no active streams(RPCs).
2017-03-31 11:37:51 -07:00
82fb96a360 Rest of the implementation 2017-03-10 17:30:46 -08:00
d9b58b5ce9 Initial commit 2017-03-09 15:33:28 -08:00
e59576b1bb add support for user-provided UnknownStreamHandler 2017-02-27 18:07:41 +00: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
5ad7c5b8ca add always returns non-nil error comment to server.serve() 2016-12-08 13:48:11 -08:00
deb01f422a add stats tagger APIs and connection stats. (#992)
* add stats.tagger APIs and connection stats.

* fix comments

use ac.ctx in http2client
change name and comments
small fixes stats_tests

* add a TODO to ConnTagInfo

* rename handle to handleRPC

* modify stats comments
2016-11-30 16:25:46 -08:00
f80f54e4d9 fix failing tests 2016-11-08 21:22:07 -08:00
6445dedfbc fix wrong context when handling stats 2016-11-08 18:17:14 -08:00
ff0b1db33e fix comments 2016-11-08 10:31:02 -08:00
d23fdd776b fix comments 2016-11-07 15:32:44 -08:00
5938492b60 fix comments 2016-11-07 15:16:52 -08:00
a4edc462a2 renaming 2016-11-07 15:16:52 -08:00
aa5b5c7e2a client side, use user context, and change sent time 2016-11-07 15:16:52 -08:00
1d2a929ae5 add stats.Begin and stats.End 2016-11-07 15:16:52 -08:00
c698588285 Renaming types and variables 2016-11-07 15:16:52 -08:00
1054f1c42b add payload with original type to payload stats 2016-11-07 15:16:52 -08:00
85c5e0e3b6 add errorStats 2016-11-07 15:16:52 -08:00
7984a9c679 change CallBack to handler, and move ctx out of Stats. 2016-11-07 15:16:52 -08:00
17ee5a3637 Add package stats, and export stats on server side. 2016-11-07 15:16:52 -08:00
f3469bf27a add the missing comment 2016-11-03 16:46:21 -07:00
b85d2b0be5 Support transport tap 2016-11-03 14:21:24 -07:00
bac9e1d16e Make concurrent Server.GracefulStop calls all behave equivalently. 2016-10-17 13:18:45 +01:00
b057848384 Merge pull request #914 from flisky/master
fix server exit due to a temporary network error
2016-10-14 11:34:03 -07:00
e966e94443 fix server exit due to a temporary network error 2016-10-14 11:49:54 +08:00
e790079956 Add grpc.SetHeader and ServerStream.SetHeader 2016-10-11 13:58:16 -07:00
1247834778 Allow multiple calls to setTrailer 2016-09-29 14:38:20 -07:00
1c20514d29 Make grpc.SendHeader return rpc error 2016-09-09 11:36:01 -07:00
8d57dd3404 Merge pull request #874 from menghanl/avoid_streamerror
Fix server side errors
2016-09-02 14:30:07 -07:00
3bea3c5f8b Doc: Fix typo in func (s *Server) comment 2016-09-02 12:20:15 -07:00
5e734ab23e Avoid creating transport stream error outside of transport 2016-09-02 11:57:42 -07:00
0c58a17d6f Add credentials ErrConnDispatch 2016-08-24 16:20:57 -07:00
bcbb6549ac Merge branch 'master' of https://github.com/grpc/grpc-go 2016-07-29 16:20:08 -07:00
b13920a0cf add the mem alloc guard on server 2016-07-29 16:19:20 -07:00
0f3fc4355d refactor GracefulStop a bit 2016-07-29 10:59:24 -07:00
a4c08780d5 Merge branch 'master' of https://github.com/grpc/grpc-go 2016-07-29 10:10:58 -07:00
069ed42115 Fix deadlock when GracefulStop()ing multiple times
Fixes #793.
2016-07-29 12:26:26 -04:00
b128e7465a merge the conflict 2016-07-28 13:17:23 -07:00
c3a89f91a6 Merge branch 'master' of https://github.com/grpc/grpc-go 2016-07-28 13:04:50 -07:00
ac90a026b6 *: go vet 2016-07-27 23:39:19 -04:00
110450d45e fix races introduce by goaway 2016-07-27 17:27:10 -07:00