@cryptotaxi247 / kubo / commits / 25d0ce8fd

NoResponse service

Juan Batiz-Benet committed Sep 18, 2014 at 19:42 UTC 25d0ce8fdd5c4e1bc8a2a38a19e87441734af3d3
1 file changed +9
net/service/service.go
+9
@@ -10,6 +10,10 @@ import (
10 context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
11 )
12
13 +// ErrNoResponse is returned by Service when a Request did not get a response,
14 +// and no other error happened
15 +var ErrNoResponse = errors.New("no response to request")
16 +
17 // Handler is an interface that objects must implement in order to handle
18 // a service's requests.
19 type Handler interface {
@@ -134,6 +138,10 @@ func (s *Service) SendRequest(ctx context.Context, m msg.NetMessage) (msg.NetMes
138 err = ctx.Err()
139 }
140
141 + if m == nil {
142 + return nil, ErrNoResponse
143 + }
144 +
145 return m, err
146 }
147
@@ -205,6 +213,7 @@ func (s *Service) handleIncomingMessage(ctx context.Context, m msg.NetMessage) {
213 }
214 }
215
216 +// SetHandler assigns the request Handler for this service.
217 func (s *Service) SetHandler(h Handler) {
218 s.Handler = h
219 }