File tree 1 file changed +14
-4
lines changed
1 file changed +14
-4
lines changed Original file line number Diff line number Diff line change @@ -2,9 +2,10 @@ package rpc
2
2
3
3
import (
4
4
"errors"
5
+ "log"
5
6
"net"
6
- "net/http"
7
7
"net/rpc"
8
+ "net/rpc/jsonrpc"
8
9
9
10
"github.com/multiverse-vcs/go-multiverse/pkg/remote"
10
11
"github.com/multiverse-vcs/go-multiverse/pkg/rpc/repo"
@@ -27,19 +28,28 @@ type Service struct {
27
28
28
29
// NewClient returns a new RPC client.
29
30
func NewClient () (* rpc.Client , error ) {
30
- return rpc . DialHTTP ("tcp" , SocketAddr )
31
+ return jsonrpc . Dial ("tcp" , SocketAddr )
31
32
}
32
33
33
34
// ListenAndServe starts the RPC listener.
34
35
func ListenAndServe (server * remote.Server ) error {
35
36
rpc .RegisterName ("Remote" , & Service {server })
36
37
rpc .RegisterName ("Repo" , & repo.Service {server })
37
- rpc .HandleHTTP ()
38
38
39
39
listen , err := net .Listen ("tcp" , SocketAddr )
40
40
if err != nil {
41
41
return err
42
42
}
43
+ defer listen .Close ()
43
44
44
- return http .Serve (listen , nil )
45
+ for {
46
+ conn , err := listen .Accept ()
47
+ if err != nil {
48
+ log .Fatal (err )
49
+ }
50
+
51
+ go jsonrpc .ServeConn (conn )
52
+ }
53
+
54
+ return nil
45
55
}
You can’t perform that action at this time.
0 commit comments