@cryptotaxi247 / kubo / commits / aeb2e0719

bitswap: remove DialPeer from interface

Bitswap doesn't usually care about dialing. the underlying network adapter can make sure of that.

Juan Batiz-Benet committed Jan 4, 2015 at 13:56 UTC aeb2e07198674b56ae892d8873702a55bee7bc77
4 files changed +12 -21
exchange/bitswap/bitswap.go
-5
@@ -385,11 +385,6 @@ func (bs *bitswap) ReceiveError(err error) {
385 // send strives to ensure that accounting is always performed when a message is
386 // sent
387 func (bs *bitswap) send(ctx context.Context, p peer.ID, m bsmsg.BitSwapMessage) error {
388 - log.Event(ctx, "DialPeer", p)
389 - err := bs.network.DialPeer(ctx, p)
390 - if err != nil {
391 - return errors.Wrap(err)
392 - }
388 if err := bs.network.SendMessage(ctx, p, m); err != nil {
389 return errors.Wrap(err)
390 }
exchange/bitswap/network/interface.go
-3
@@ -14,9 +14,6 @@ var ProtocolBitswap protocol.ID = "/ipfs/bitswap"
14 // BitSwapNetwork provides network connectivity for BitSwap sessions
15 type BitSwapNetwork interface {
16
17 - // DialPeer ensures there is a connection to peer.
18 - DialPeer(context.Context, peer.ID) error
19 -
17 // SendMessage sends a BitSwap message to a peer.
18 SendMessage(
19 context.Context,
exchange/bitswap/network/ipfs_impl.go
+12 -4
@@ -34,10 +34,6 @@ type impl struct {
34 receiver Receiver
35 }
36
37 -func (bsnet *impl) DialPeer(ctx context.Context, p peer.ID) error {
38 - return bsnet.host.Connect(ctx, peer.PeerInfo{ID: p})
39 -}
40 -
37 func (bsnet *impl) SendMessage(
38 ctx context.Context,
39 p peer.ID,
@@ -45,6 +41,12 @@ func (bsnet *impl) SendMessage(
41
42 log := log.Prefix("bitswap net SendMessage to %s", p)
43
44 + // ensure we're connected
45 + //TODO(jbenet) move this into host.NewStream?
46 + if err := bsnet.host.Connect(ctx, peer.PeerInfo{ID: p}); err != nil {
47 + return err
48 + }
49 +
50 log.Debug("opening stream")
51 s, err := bsnet.host.NewStream(ProtocolBitswap, p)
52 if err != nil {
@@ -69,6 +71,12 @@ func (bsnet *impl) SendRequest(
71
72 log := log.Prefix("bitswap net SendRequest to %s", p)
73
74 + // ensure we're connected
75 + //TODO(jbenet) move this into host.NewStream?
76 + if err := bsnet.host.Connect(ctx, peer.PeerInfo{ID: p}); err != nil {
77 + return nil, err
78 + }
79 +
80 log.Debug("opening stream")
81 s, err := bsnet.host.NewStream(ProtocolBitswap, p)
82 if err != nil {
exchange/bitswap/testnet/virtual.go
-9
@@ -2,7 +2,6 @@ package bitswap
2
3 import (
4 "errors"
5 - "fmt"
5
6 context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
7 bsmsg "github.com/jbenet/go-ipfs/exchange/bitswap/message"
@@ -178,14 +177,6 @@ func (nc *networkClient) Provide(ctx context.Context, k util.Key) error {
177 return nc.routing.Provide(ctx, k)
178 }
179
181 -func (nc *networkClient) DialPeer(ctx context.Context, p peer.ID) error {
182 - // no need to do anything because dialing isn't a thing in this test net.
183 - if !nc.network.HasPeer(p) {
184 - return fmt.Errorf("Peer not in network: %s", p)
185 - }
186 - return nil
187 -}
188 -
180 func (nc *networkClient) SetDelegate(r bsnet.Receiver) {
181 nc.Receiver = r
182 }