Commit 90fa9290 authored by Jeromy's avatar Jeromy
Browse files

make NewStream run FindPeer if no addresses found

parent 01be69d3
...@@ -100,6 +100,14 @@ func (rh *RoutedHost) SetStreamHandler(pid protocol.ID, handler inet.StreamHandl ...@@ -100,6 +100,14 @@ func (rh *RoutedHost) SetStreamHandler(pid protocol.ID, handler inet.StreamHandl
rh.host.SetStreamHandler(pid, handler) rh.host.SetStreamHandler(pid, handler)
} }
func (rh *RoutedHost) NewStream(pid protocol.ID, p peer.ID) (inet.Stream, error) { func (rh *RoutedHost) NewStream(pid protocol.ID, p peer.ID) (inet.Stream, error) {
if len(rh.Peerstore().Addrs(p)) < 1 {
ctx, _ := context.WithTimeout(context.TODO(), time.Second*30)
pi, err := rh.route.FindPeer(ctx, p)
if err != nil {
return nil, err
}
rh.Peerstore().AddAddrs(p, pi.Addrs, peer.TempAddrTTL)
}
return rh.host.NewStream(pid, p) return rh.host.NewStream(pid, p)
} }
func (rh *RoutedHost) Close() error { func (rh *RoutedHost) Close() error {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment