internal/jsonrpc2: rename NewStream to NewRawStream

NewStream implies the default stream type, which it is not.
NewHeaderStream is actually the default choice.

Change-Id: I1744d7e902d27c13393f3b367fe2d29e5d7dc283
Reviewed-on: https://go-review.googlesource.com/c/tools/+/231618
Run-TryBot: Ian Cottrell <iancottrell@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Jonathan Amsterdam <jba@google.com>
This commit is contained in:
Ian Cottrell 2020-04-29 09:17:00 -04:00
Родитель 535e1470ec
Коммит 33427f1b03
3 изменённых файлов: 10 добавлений и 10 удалений

Просмотреть файл

@ -111,7 +111,7 @@ func run(ctx context.Context, t *testing.T, withHeaders bool, r io.ReadCloser, w
if withHeaders {
stream = jsonrpc2.NewHeaderStream(r, w)
} else {
stream = jsonrpc2.NewStream(r, w)
stream = jsonrpc2.NewRawStream(r, w)
}
conn := jsonrpc2.NewConn(stream)
wg.Add(1)

Просмотреть файл

@ -86,10 +86,10 @@ func (s *PipeServer) Connect(ctx context.Context) *jsonrpc2.Conn {
cReader.Close()
cWriter.Close()
})
serverStream := jsonrpc2.NewStream(sReader, cWriter)
serverStream := jsonrpc2.NewRawStream(sReader, cWriter)
go s.server.ServeStream(ctx, serverStream)
clientStream := jsonrpc2.NewStream(cReader, sWriter)
clientStream := jsonrpc2.NewRawStream(cReader, sWriter)
return jsonrpc2.NewConn(clientStream)
}

Просмотреть файл

@ -28,23 +28,23 @@ type Stream interface {
Write(context.Context, Message) (int64, error)
}
// NewStream returns a Stream built on top of an io.Reader and io.Writer
// NewRawStream returns a Stream built on top of an io.Reader and io.Writer.
// The messages are sent with no wrapping, and rely on json decode consistency
// to determine message boundaries.
func NewStream(in io.Reader, out io.Writer) Stream {
return &plainStream{
func NewRawStream(in io.Reader, out io.Writer) Stream {
return &rawStream{
in: json.NewDecoder(in),
out: out,
}
}
type plainStream struct {
type rawStream struct {
in *json.Decoder
outMu sync.Mutex
out io.Writer
}
func (s *plainStream) Read(ctx context.Context) (Message, int64, error) {
func (s *rawStream) Read(ctx context.Context) (Message, int64, error) {
select {
case <-ctx.Done():
return nil, 0, ctx.Err()
@ -58,7 +58,7 @@ func (s *plainStream) Read(ctx context.Context) (Message, int64, error) {
return msg, int64(len(raw)), err
}
func (s *plainStream) Write(ctx context.Context, msg Message) (int64, error) {
func (s *rawStream) Write(ctx context.Context, msg Message) (int64, error) {
select {
case <-ctx.Done():
return 0, ctx.Err()
@ -74,7 +74,7 @@ func (s *plainStream) Write(ctx context.Context, msg Message) (int64, error) {
return int64(n), err
}
// NewHeaderStream returns a Stream built on top of an io.Reader and io.Writer
// NewHeaderStream returns a Stream built on top of an io.Reader and io.Writer.
// The messages are sent with HTTP content length and MIME type headers.
// This is the format used by LSP and others.
func NewHeaderStream(in io.Reader, out io.Writer) Stream {