@cryptotaxi247 / kubo / commits / 46bbd11e6

fix(gcr/s,c) register stream handlers

Brian Tiger Chow committed Jan 30, 2015 at 08:02 UTC 46bbd11e6b4966c0f0ecd2dac4273866cd66a04e
3 files changed +9 -2
core/corerouting/core.go
+2
@@ -40,6 +40,7 @@ func GrandCentralServer(recordSource datastore.ThreadSafeDatastore) core.Routing
40 Handler: server,
41 Local: node.Identity,
42 }
43 + node.PeerHost.SetStreamHandler(gcproxy.ProtocolGCR, proxy.HandleStream)
44 return grandcentral.NewClient(proxy, node.Peerstore, node.Identity)
45 }
46 }
@@ -75,6 +76,7 @@ func GrandCentralClient(remotes ...peer.PeerInfo) core.RoutingOption {
76 ids = append(ids, info.ID)
77 }
78 proxy := gcproxy.Standard(node.PeerHost, ids)
79 + node.PeerHost.SetStreamHandler(gcproxy.ProtocolGCR, proxy.HandleStream)
80 return grandcentral.NewClient(proxy, node.Peerstore, node.Identity)
81 }
82 }
routing/grandcentral/proxy/loopback.go
+1 -1
@@ -34,7 +34,7 @@ func (lb *Loopback) SendRequest(ctx context.Context, m *dhtpb.Message) (*dhtpb.M
34 return lb.Handler.HandleRequest(ctx, lb.Local, m), nil
35 }
36
37 -func (lb *Loopback) handleNewStream(s inet.Stream) {
37 +func (lb *Loopback) HandleStream(s inet.Stream) {
38 defer s.Close()
39 pbr := ggio.NewDelimitedReader(s, inet.MessageSizeMax)
40 var incoming dhtpb.Message
routing/grandcentral/proxy/standard.go
+6 -1
@@ -13,7 +13,10 @@ import (
13
14 var log = eventlog.Logger("proxy")
15
16 +const ProtocolGCR = "/ipfs/grandcentral"
17 +
18 type Proxy interface {
19 + HandleStream(inet.Stream)
20 SendMessage(ctx context.Context, m *dhtpb.Message) error
21 SendRequest(ctx context.Context, m *dhtpb.Message) (*dhtpb.Message, error)
22 }
@@ -27,7 +30,9 @@ func Standard(h host.Host, remotes []peer.ID) Proxy {
30 return &standard{h, remotes}
31 }
32
30 -const ProtocolGCR = "/ipfs/grandcentral"
33 +func (p *standard) HandleStream(s inet.Stream) {
34 + panic("client received a GCR message")
35 +}
36
37 func (px *standard) SendMessage(ctx context.Context, m *dhtpb.Message) error {
38 var err error