提交 aeb2e071 作者: Juan Batiz-Benet

bitswap: remove DialPeer from interface

Bitswap doesn't usually care about dialing. the underlying
network adapter can make sure of that.
上级 f6def11e
...@@ -385,11 +385,6 @@ func (bs *bitswap) ReceiveError(err error) { ...@@ -385,11 +385,6 @@ func (bs *bitswap) ReceiveError(err error) {
// send strives to ensure that accounting is always performed when a message is // send strives to ensure that accounting is always performed when a message is
// sent // sent
func (bs *bitswap) send(ctx context.Context, p peer.ID, m bsmsg.BitSwapMessage) error { func (bs *bitswap) send(ctx context.Context, p peer.ID, m bsmsg.BitSwapMessage) error {
log.Event(ctx, "DialPeer", p)
err := bs.network.DialPeer(ctx, p)
if err != nil {
return errors.Wrap(err)
}
if err := bs.network.SendMessage(ctx, p, m); err != nil { if err := bs.network.SendMessage(ctx, p, m); err != nil {
return errors.Wrap(err) return errors.Wrap(err)
} }
......
...@@ -14,9 +14,6 @@ var ProtocolBitswap protocol.ID = "/ipfs/bitswap" ...@@ -14,9 +14,6 @@ var ProtocolBitswap protocol.ID = "/ipfs/bitswap"
// BitSwapNetwork provides network connectivity for BitSwap sessions // BitSwapNetwork provides network connectivity for BitSwap sessions
type BitSwapNetwork interface { type BitSwapNetwork interface {
// DialPeer ensures there is a connection to peer.
DialPeer(context.Context, peer.ID) error
// SendMessage sends a BitSwap message to a peer. // SendMessage sends a BitSwap message to a peer.
SendMessage( SendMessage(
context.Context, context.Context,
......
...@@ -34,10 +34,6 @@ type impl struct { ...@@ -34,10 +34,6 @@ type impl struct {
receiver Receiver receiver Receiver
} }
func (bsnet *impl) DialPeer(ctx context.Context, p peer.ID) error {
return bsnet.host.Connect(ctx, peer.PeerInfo{ID: p})
}
func (bsnet *impl) SendMessage( func (bsnet *impl) SendMessage(
ctx context.Context, ctx context.Context,
p peer.ID, p peer.ID,
...@@ -45,6 +41,12 @@ func (bsnet *impl) SendMessage( ...@@ -45,6 +41,12 @@ func (bsnet *impl) SendMessage(
log := log.Prefix("bitswap net SendMessage to %s", p) log := log.Prefix("bitswap net SendMessage to %s", p)
// ensure we're connected
//TODO(jbenet) move this into host.NewStream?
if err := bsnet.host.Connect(ctx, peer.PeerInfo{ID: p}); err != nil {
return err
}
log.Debug("opening stream") log.Debug("opening stream")
s, err := bsnet.host.NewStream(ProtocolBitswap, p) s, err := bsnet.host.NewStream(ProtocolBitswap, p)
if err != nil { if err != nil {
...@@ -69,6 +71,12 @@ func (bsnet *impl) SendRequest( ...@@ -69,6 +71,12 @@ func (bsnet *impl) SendRequest(
log := log.Prefix("bitswap net SendRequest to %s", p) log := log.Prefix("bitswap net SendRequest to %s", p)
// ensure we're connected
//TODO(jbenet) move this into host.NewStream?
if err := bsnet.host.Connect(ctx, peer.PeerInfo{ID: p}); err != nil {
return nil, err
}
log.Debug("opening stream") log.Debug("opening stream")
s, err := bsnet.host.NewStream(ProtocolBitswap, p) s, err := bsnet.host.NewStream(ProtocolBitswap, p)
if err != nil { if err != nil {
......
...@@ -2,7 +2,6 @@ package bitswap ...@@ -2,7 +2,6 @@ package bitswap
import ( import (
"errors" "errors"
"fmt"
context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context" context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
bsmsg "github.com/jbenet/go-ipfs/exchange/bitswap/message" bsmsg "github.com/jbenet/go-ipfs/exchange/bitswap/message"
...@@ -178,14 +177,6 @@ func (nc *networkClient) Provide(ctx context.Context, k util.Key) error { ...@@ -178,14 +177,6 @@ func (nc *networkClient) Provide(ctx context.Context, k util.Key) error {
return nc.routing.Provide(ctx, k) return nc.routing.Provide(ctx, k)
} }
func (nc *networkClient) DialPeer(ctx context.Context, p peer.ID) error {
// no need to do anything because dialing isn't a thing in this test net.
if !nc.network.HasPeer(p) {
return fmt.Errorf("Peer not in network: %s", p)
}
return nil
}
func (nc *networkClient) SetDelegate(r bsnet.Receiver) { func (nc *networkClient) SetDelegate(r bsnet.Receiver) {
nc.Receiver = r nc.Receiver = r
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论