|
|
@@ -125,7 +125,7 @@ func (s *Server) RegisterName(name string, rcvr interface{}) error {
|
|
|
// If singleShot is true it will process a single request, otherwise it will handle
|
|
|
// requests until the codec returns an error when reading a request (in most cases
|
|
|
// an EOF). It executes requests in parallel when singleShot is false.
|
|
|
-func (s *Server) serveRequest(codec ServerCodec, singleShot bool, options CodecOption, ctx context.Context) error {
|
|
|
+func (s *Server) serveRequest(ctx context.Context, codec ServerCodec, singleShot bool, options CodecOption) error {
|
|
|
var pend sync.WaitGroup
|
|
|
|
|
|
defer func() {
|
|
|
@@ -216,14 +216,14 @@ func (s *Server) serveRequest(codec ServerCodec, singleShot bool, options CodecO
|
|
|
// stopped. In either case the codec is closed.
|
|
|
func (s *Server) ServeCodec(codec ServerCodec, options CodecOption) {
|
|
|
defer codec.Close()
|
|
|
- s.serveRequest(codec, false, options, context.Background())
|
|
|
+ s.serveRequest(context.Background(), codec, false, options)
|
|
|
}
|
|
|
|
|
|
// ServeSingleRequest reads and processes a single RPC request from the given codec. It will not
|
|
|
// close the codec unless a non-recoverable error has occurred. Note, this method will return after
|
|
|
// a single request has been processed!
|
|
|
-func (s *Server) ServeSingleRequest(codec ServerCodec, options CodecOption, ctx context.Context) {
|
|
|
- s.serveRequest(codec, true, options, ctx)
|
|
|
+func (s *Server) ServeSingleRequest(ctx context.Context, codec ServerCodec, options CodecOption) {
|
|
|
+ s.serveRequest(ctx, codec, true, options)
|
|
|
}
|
|
|
|
|
|
// Stop will stop reading new requests, wait for stopPendingRequestTimeout to allow pending requests to finish,
|