Skip to content

Commit 335e58e

Browse files
committed
protocol: change NewServer and NewClient to new handler logic
1 parent 3995c3c commit 335e58e

File tree

1 file changed

+24
-26
lines changed

1 file changed

+24
-26
lines changed

protocol.go

Lines changed: 24 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
// Copyright 2019 The Go Language Server Authors. All rights reserved.
2-
// Use of this source code is governed by a BSD-style
3-
// license that can be found in the LICENSE file.
1+
// SPDX-FileCopyrightText: Copyright 2019 The Go Language Server Authors
2+
// SPDX-License-Identifier: BSD-3-Clause
43

54
package protocol
65

@@ -12,33 +11,32 @@ import (
1211
"go.lsp.dev/jsonrpc2"
1312
)
1413

15-
// NewServer returns the new Server, Client and jsonrpc2.Conn.
16-
func NewServer(pctx context.Context, server ServerInterface, stream jsonrpc2.Stream, logger *zap.Logger) (ctx context.Context, conn jsonrpc2.Conn, clientInterface ClientInterface) {
17-
conn = jsonrpc2.NewConn(stream)
18-
client := &client{
19-
Conn: conn,
20-
logger: logger.Named("client"),
21-
}
22-
ctx = WithClient(pctx, client)
14+
// NewServer returns the context in which client is embedded, jsonrpc2.Conn, and the Client.
15+
func NewServer(ctx context.Context, server Server, stream jsonrpc2.Stream, logger *zap.Logger) (context.Context, jsonrpc2.Conn, Client) {
16+
conn := jsonrpc2.NewConn(stream)
17+
cliint := ClientDispatcher(conn, logger.Named("client"))
18+
ctx = WithClient(ctx, cliint)
2319

24-
// conn.AddHandler(&serverHandler{server: server})
25-
// conn.AddHandler(&canceller{logger: logger.Named("canceller")})
20+
conn.Go(ctx,
21+
Handlers(
22+
ServerHandler(server, jsonrpc2.MethodNotFoundHandler),
23+
),
24+
)
2625

27-
return ctx, conn, client
26+
return ctx, conn, cliint
2827
}
2928

30-
// NewClient returns the new context, jsonrpc2.Conn and ServerInterface.
31-
func NewClient(pctx context.Context, client ClientInterface, stream jsonrpc2.Stream, logger *zap.Logger) (ctx context.Context, conn jsonrpc2.Conn, serverInterface ServerInterface) {
32-
ctx = WithClient(pctx, client)
29+
// NewClient returns the context in which Client is embedded, jsonrpc2.Conn, and the Server.
30+
func NewClient(ctx context.Context, client Client, stream jsonrpc2.Stream, logger *zap.Logger) (context.Context, jsonrpc2.Conn, Server) {
31+
ctx = WithClient(ctx, client)
3332

34-
conn = jsonrpc2.NewConn(stream)
35-
// conn.AddHandler(&clientHandler{client: client})
36-
// conn.AddHandler(&canceller{logger: logger.Named("canceller")})
33+
conn := jsonrpc2.NewConn(stream)
34+
conn.Go(ctx,
35+
Handlers(
36+
ClientHandler(client, jsonrpc2.MethodNotFoundHandler),
37+
),
38+
)
39+
server := ServerDispatcher(conn, logger.Named("server"))
3740

38-
s := &server{
39-
Conn: conn,
40-
logger: logger.Named("server"),
41-
}
42-
43-
return ctx, conn, s
41+
return ctx, conn, server
4442
}

0 commit comments

Comments
 (0)