Process header/body in one call
This commit is contained in:
		| @@ -68,7 +68,8 @@ func (r *rpcStream) Recv(msg interface{}) error { | ||||
| 	} | ||||
|  | ||||
| 	var resp response | ||||
| 	if err := r.codec.ReadResponseHeader(&resp); err != nil { | ||||
|  | ||||
| 	if err := r.codec.ReadResponse(&resp, msg); err != nil { | ||||
| 		if err == io.EOF && !r.isClosed() { | ||||
| 			r.err = io.ErrUnexpectedEOF | ||||
| 			return io.ErrUnexpectedEOF | ||||
| @@ -87,13 +88,6 @@ func (r *rpcStream) Recv(msg interface{}) error { | ||||
| 		} else { | ||||
| 			r.err = io.EOF | ||||
| 		} | ||||
| 		if err := r.codec.ReadResponseBody(nil); err != nil { | ||||
| 			r.err = err | ||||
| 		} | ||||
| 	default: | ||||
| 		if err := r.codec.ReadResponseBody(msg); err != nil { | ||||
| 			r.err = err | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	return r.err | ||||
|   | ||||
		Reference in New Issue
	
	Block a user