Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
G
go-ipfs
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
jihao
go-ipfs
Commits
0bd63633
提交
0bd63633
authored
1月 24, 2015
作者:
Juan Batiz-Benet
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
dht/kbucket: race condition fix
上级
87458f6d
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
14 行增加
和
7 行删除
+14
-7
bucket.go
routing/kbucket/bucket.go
+11
-4
table.go
routing/kbucket/table.go
+3
-3
没有找到文件。
routing/kbucket/bucket.go
浏览文件 @
0bd63633
...
...
@@ -19,6 +19,17 @@ func newBucket() *Bucket {
return
b
}
func
(
b
*
Bucket
)
Peers
()
[]
peer
.
ID
{
b
.
lk
.
RLock
()
defer
b
.
lk
.
RUnlock
()
ps
:=
make
([]
peer
.
ID
,
0
,
b
.
list
.
Len
())
for
e
:=
b
.
list
.
Front
();
e
!=
nil
;
e
=
e
.
Next
()
{
id
:=
e
.
Value
.
(
peer
.
ID
)
ps
=
append
(
ps
,
id
)
}
return
ps
}
func
(
b
*
Bucket
)
find
(
id
peer
.
ID
)
*
list
.
Element
{
b
.
lk
.
RLock
()
defer
b
.
lk
.
RUnlock
()
...
...
@@ -81,7 +92,3 @@ func (b *Bucket) Split(cpl int, target ID) *Bucket {
}
return
newbuck
}
func
(
b
*
Bucket
)
getIter
()
*
list
.
Element
{
return
b
.
list
.
Front
()
}
routing/kbucket/table.go
浏览文件 @
0bd63633
...
...
@@ -176,11 +176,11 @@ func (rt *RoutingTable) Size() int {
// NOTE: This is potentially unsafe... use at your own risk
func
(
rt
*
RoutingTable
)
ListPeers
()
[]
peer
.
ID
{
var
peers
[]
peer
.
ID
rt
.
tabLock
.
RLock
()
for
_
,
buck
:=
range
rt
.
Buckets
{
for
e
:=
buck
.
getIter
();
e
!=
nil
;
e
=
e
.
Next
()
{
peers
=
append
(
peers
,
e
.
Value
.
(
peer
.
ID
))
}
peers
=
append
(
peers
,
buck
.
Peers
()
...
)
}
rt
.
tabLock
.
RUnlock
()
return
peers
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论