Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
G
go-ipfs
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
jihao
go-ipfs
Commits
5c9125e8
提交
5c9125e8
authored
10月 18, 2017
作者:
Jeromy Johnson
提交者:
GitHub
10月 18, 2017
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #4315 from ipfs/feat/sessions-tagging
tag peers associated with a bitswap session
上级
329eb1cd
3eafbea2
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
28 行增加
和
2 行删除
+28
-2
interface.go
exchange/bitswap/network/interface.go
+4
-0
ipfs_impl.go
exchange/bitswap/network/ipfs_impl.go
+5
-0
session.go
exchange/bitswap/session.go
+13
-1
virtual.go
exchange/bitswap/testnet/virtual.go
+6
-1
没有找到文件。
exchange/bitswap/network/interface.go
浏览文件 @
5c9125e8
...
...
@@ -4,8 +4,10 @@ import (
"context"
bsmsg
"github.com/ipfs/go-ipfs/exchange/bitswap/message"
cid
"gx/ipfs/QmNp85zy9RLrQ5oQD4hPyS39ezrrXpcaa7R4Y9kxdWQLLQ/go-cid"
peer
"gx/ipfs/QmXYjuNuxVzXKJCfWasQk1RqkhVLDM9jtUKhqc2WPQmFSB/go-libp2p-peer"
ifconnmgr
"gx/ipfs/QmYkCrTwivapqdB3JbwvwvxymseahVkcm46ThRMAA24zCr/go-libp2p-interface-connmgr"
protocol
"gx/ipfs/QmZNkThpqfVXs9GNbexPrfBbXSLNYeKrE7jwFM2oqHbyqN/go-libp2p-protocol"
)
...
...
@@ -34,6 +36,8 @@ type BitSwapNetwork interface {
NewMessageSender
(
context
.
Context
,
peer
.
ID
)
(
MessageSender
,
error
)
ConnectionManager
()
ifconnmgr
.
ConnManager
Routing
}
...
...
exchange/bitswap/network/ipfs_impl.go
浏览文件 @
5c9125e8
...
...
@@ -15,6 +15,7 @@ import (
logging
"gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log"
ma
"gx/ipfs/QmXY77cVe7rVRQXZZQRioukUM7aRW3BTcAgJe12MCtb3Ji/go-multiaddr"
peer
"gx/ipfs/QmXYjuNuxVzXKJCfWasQk1RqkhVLDM9jtUKhqc2WPQmFSB/go-libp2p-peer"
ifconnmgr
"gx/ipfs/QmYkCrTwivapqdB3JbwvwvxymseahVkcm46ThRMAA24zCr/go-libp2p-interface-connmgr"
ggio
"gx/ipfs/QmZ4Qi3GaRbjcx28Sme5eMH7RQjGkt8wHxt2a65oLaeFEV/gogo-protobuf/io"
host
"gx/ipfs/Qmc1XhrFEiSeBNn3mpfg6gEuYCt5im2gYmNVmncsvmpeAk/go-libp2p-host"
)
...
...
@@ -204,6 +205,10 @@ func (bsnet *impl) handleNewStream(s inet.Stream) {
}
}
func
(
bsnet
*
impl
)
ConnectionManager
()
ifconnmgr
.
ConnManager
{
return
bsnet
.
host
.
ConnManager
()
}
type
netNotifiee
impl
func
(
nn
*
netNotifiee
)
impl
()
*
impl
{
...
...
exchange/bitswap/session.go
浏览文件 @
5c9125e8
...
...
@@ -2,6 +2,7 @@ package bitswap
import
(
"context"
"fmt"
"time"
notifications
"github.com/ipfs/go-ipfs/exchange/bitswap/notifications"
...
...
@@ -44,7 +45,8 @@ type Session struct {
uuid
logging
.
Loggable
id
uint64
id
uint64
tag
string
}
// NewSession creates a new bitswap session whose lifetime is bounded by the
...
...
@@ -66,6 +68,8 @@ func (bs *Bitswap) NewSession(ctx context.Context) *Session {
id
:
bs
.
getNextSessionID
(),
}
s
.
tag
=
fmt
.
Sprint
(
"bs-ses-"
,
s
.
id
)
cache
,
_
:=
lru
.
New
(
2048
)
s
.
interest
=
cache
...
...
@@ -139,6 +143,9 @@ func (s *Session) addActivePeer(p peer.ID) {
if
_
,
ok
:=
s
.
activePeers
[
p
];
!
ok
{
s
.
activePeers
[
p
]
=
struct
{}{}
s
.
activePeersArr
=
append
(
s
.
activePeersArr
,
p
)
cmgr
:=
s
.
bs
.
network
.
ConnectionManager
()
cmgr
.
TagPeer
(
p
,
s
.
tag
,
10
)
}
}
...
...
@@ -218,6 +225,11 @@ func (s *Session) run(ctx context.Context) {
case
<-
ctx
.
Done
()
:
s
.
tick
.
Stop
()
s
.
bs
.
removeSession
(
s
)
cmgr
:=
s
.
bs
.
network
.
ConnectionManager
()
for
_
,
p
:=
range
s
.
activePeersArr
{
cmgr
.
UntagPeer
(
p
,
s
.
tag
)
}
return
}
}
...
...
exchange/bitswap/testnet/virtual.go
浏览文件 @
5c9125e8
...
...
@@ -8,12 +8,13 @@ import (
bsnet
"github.com/ipfs/go-ipfs/exchange/bitswap/network"
mockrouting
"github.com/ipfs/go-ipfs/routing/mock"
delay
"github.com/ipfs/go-ipfs/thirdparty/delay"
testutil
"gx/ipfs/QmWRCn8vruNAzHx8i6SAXinuheRitKEGu8c7m26stKvsYx/go-testutil"
cid
"gx/ipfs/QmNp85zy9RLrQ5oQD4hPyS39ezrrXpcaa7R4Y9kxdWQLLQ/go-cid"
routing
"gx/ipfs/QmPR2JzfKd9poHx9XBhzoFeBBC31ZM3W5iUPKJZWyaoZZm/go-libp2p-routing"
logging
"gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log"
testutil
"gx/ipfs/QmWRCn8vruNAzHx8i6SAXinuheRitKEGu8c7m26stKvsYx/go-testutil"
peer
"gx/ipfs/QmXYjuNuxVzXKJCfWasQk1RqkhVLDM9jtUKhqc2WPQmFSB/go-libp2p-peer"
ifconnmgr
"gx/ipfs/QmYkCrTwivapqdB3JbwvwvxymseahVkcm46ThRMAA24zCr/go-libp2p-interface-connmgr"
)
var
log
=
logging
.
Logger
(
"bstestnet"
)
...
...
@@ -118,6 +119,10 @@ func (nc *networkClient) FindProvidersAsync(ctx context.Context, k *cid.Cid, max
return
out
}
func
(
nc
*
networkClient
)
ConnectionManager
()
ifconnmgr
.
ConnManager
{
return
&
ifconnmgr
.
NullConnMgr
{}
}
type
messagePasser
struct
{
net
*
network
target
peer
.
ID
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论