X Tutup
Skip to content

Commit a03e9d3

Browse files
authored
review suggestions
1 parent 9b1a660 commit a03e9d3

File tree

2 files changed

+20
-23
lines changed

2 files changed

+20
-23
lines changed

pkg/liveshare/ports.go

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -124,9 +124,5 @@ func (s *Session) GetSharedServers(ctx context.Context) ([]*Port, error) {
124124
// UpdateSharedServerPrivacy controls port permissions and visibility scopes for who can access its URLs
125125
// in the browser.
126126
func (s *Session) UpdateSharedServerPrivacy(ctx context.Context, port int, visibility string) error {
127-
if err := s.rpc.do(ctx, "serverSharing.updateSharedServerPrivacy", []interface{}{port, visibility}, nil); err != nil {
128-
return err
129-
}
130-
131-
return nil
127+
return s.rpc.do(ctx, "serverSharing.updateSharedServerPrivacy", []interface{}{port, visibility}, nil)
132128
}

pkg/liveshare/rpc.go

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -44,38 +44,39 @@ func (r *rpcClient) do(ctx context.Context, method string, args, result interfac
4444

4545
type handlerFn func(conn *jsonrpc2.Conn, req *jsonrpc2.Request)
4646

47+
type handlerSt struct {
48+
fn handlerFn
49+
}
50+
4751
type requestHandler struct {
48-
handlersMu sync.RWMutex
49-
handlers map[string][]handlerFn
52+
handlersMu sync.Mutex
53+
handlers map[string][]*handlerSt
5054
}
5155

5256
func newRequestHandler() *requestHandler {
53-
return &requestHandler{handlers: make(map[string][]handlerFn)}
57+
return &requestHandler{handlers: make(map[string][]*handlerSt)}
5458
}
5559

56-
func (r *requestHandler) register(requestType string, handler handlerFn) func() {
60+
func (r *requestHandler) register(requestType string, fn handlerFn) func() {
5761
r.handlersMu.Lock()
5862
defer r.handlersMu.Unlock()
5963

60-
if _, ok := r.handlers[requestType]; !ok {
61-
r.handlers[requestType] = []handlerFn{}
62-
}
63-
64-
r.handlers[requestType] = append(r.handlers[requestType], handler)
64+
h := &handlerSt{fn: fn}
65+
r.handlers[requestType] = append(r.handlers[requestType], h)
6566

6667
return func() {
67-
r.deregister(requestType, handler)
68+
r.deregister(requestType, h)
6869
}
6970
}
7071

71-
func (r *requestHandler) deregister(requestType string, handler handlerFn) {
72+
func (r *requestHandler) deregister(requestType string, handler *handlerSt) {
7273
r.handlersMu.Lock()
7374
defer r.handlersMu.Unlock()
7475

7576
if handlers, ok := r.handlers[requestType]; ok {
76-
newHandlers := []handlerFn{}
77+
newHandlers := []*handlerSt{}
7778
for _, h := range handlers {
78-
if &h != &handler {
79+
if h != handler {
7980
newHandlers = append(newHandlers, h)
8081
}
8182
}
@@ -87,15 +88,15 @@ func (r *requestHandler) deregister(requestType string, handler handlerFn) {
8788
}
8889
}
8990

90-
func (r *requestHandler) handlerFn(requestType string) []handlerFn {
91-
r.handlersMu.RLock()
92-
defer r.handlersMu.RUnlock()
91+
func (r *requestHandler) getHandlers(requestType string) []*handlerSt {
92+
r.handlersMu.Lock()
93+
defer r.handlersMu.Unlock()
9394

9495
return r.handlers[requestType]
9596
}
9697

9798
func (r *requestHandler) Handle(ctx context.Context, conn *jsonrpc2.Conn, req *jsonrpc2.Request) {
98-
for _, handler := range r.handlerFn(req.Method) {
99-
go handler(conn, req)
99+
for _, handler := range r.getHandlers(req.Method) {
100+
go handler.fn(conn, req)
100101
}
101102
}

0 commit comments

Comments
 (0)
X Tutup