Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
G
go-ipfs
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
jihao
go-ipfs
Commits
29ab6dec
提交
29ab6dec
authored
10月 19, 2014
作者:
Juan Batiz-Benet
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
added msg counters to logs
上级
63d6ee6d
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
23 行增加
和
5 行删除
+23
-5
multiconn.go
net/conn/multiconn.go
+11
-0
conn.go
net/swarm/conn.go
+8
-3
swarm_test.go
net/swarm/swarm_test.go
+4
-2
没有找到文件。
net/conn/multiconn.go
浏览文件 @
29ab6dec
...
...
@@ -132,6 +132,7 @@ func (c *MultiConn) fanOut() {
c
.
Children
()
.
Add
(
1
)
defer
c
.
Children
()
.
Done
()
i
:=
0
for
{
select
{
case
<-
c
.
Closing
()
:
...
...
@@ -140,6 +141,7 @@ func (c *MultiConn) fanOut() {
// send data out through our "best connection"
case
m
,
more
:=
<-
c
.
duplex
.
Out
:
if
!
more
{
log
.
Info
(
"%s out channel closed"
,
c
)
return
}
sc
:=
c
.
BestConn
()
...
...
@@ -147,6 +149,9 @@ func (c *MultiConn) fanOut() {
// maybe this should be a logged error, not a panic.
panic
(
"sending out multiconn without any live connection"
)
}
i
++
log
.
Info
(
"%s sending (%d)"
,
sc
,
i
)
sc
.
Out
()
<-
m
}
}
...
...
@@ -160,6 +165,8 @@ func (c *MultiConn) fanInSingle(child Conn) {
// cleanup all data associated with this child Connection.
defer
func
()
{
log
.
Info
(
"closing: %s"
,
child
)
// in case it still is in the map, remove it.
c
.
Lock
()
delete
(
c
.
conns
,
child
.
ID
())
...
...
@@ -174,6 +181,7 @@ func (c *MultiConn) fanInSingle(child Conn) {
}
}()
i
:=
0
for
{
select
{
case
<-
c
.
Closing
()
:
// multiconn closing
...
...
@@ -184,8 +192,11 @@ func (c *MultiConn) fanInSingle(child Conn) {
case
m
,
more
:=
<-
child
.
In
()
:
// receiving data
if
!
more
{
log
.
Info
(
"%s in channel closed"
,
child
)
return
// closed
}
i
++
log
.
Info
(
"%s received (%d)"
,
child
,
i
)
c
.
duplex
.
In
<-
m
}
}
...
...
net/swarm/conn.go
浏览文件 @
29ab6dec
...
...
@@ -136,6 +136,7 @@ func (s *Swarm) fanOut() {
s
.
Children
()
.
Add
(
1
)
defer
s
.
Children
()
.
Done
()
i
:=
0
for
{
select
{
case
<-
s
.
Closing
()
:
...
...
@@ -143,6 +144,7 @@ func (s *Swarm) fanOut() {
case
msg
,
ok
:=
<-
s
.
Outgoing
:
if
!
ok
{
log
.
Info
(
"%s outgoing channel closed"
,
s
)
return
}
...
...
@@ -157,8 +159,8 @@ func (s *Swarm) fanOut() {
continue
}
// log.Debug("[peer: %s] Sent message [to = %s]", s.local, msg.Peer())
i
++
log
.
Debug
(
"%s sent message to %s (%d)"
,
s
.
local
,
msg
.
Peer
(),
i
)
// queue it in the connection's buffer
c
.
Out
()
<-
msg
.
Data
()
}
...
...
@@ -182,6 +184,7 @@ func (s *Swarm) fanInSingle(c conn.Conn) {
c
.
Children
()
.
Done
()
// child of Conn as well.
}()
i
:=
0
for
{
select
{
case
<-
s
.
Closing
()
:
// Swarm closing
...
...
@@ -192,9 +195,11 @@ func (s *Swarm) fanInSingle(c conn.Conn) {
case
data
,
ok
:=
<-
c
.
In
()
:
if
!
ok
{
log
.
Info
(
"%s in channel closed"
,
c
)
return
// channel closed.
}
// log.Debug("[peer: %s] Received message [from = %s]", s.local, c.Peer)
i
++
log
.
Debug
(
"%s received message from %s (%d)"
,
s
.
local
,
c
.
RemotePeer
(),
i
)
s
.
Incoming
<-
msg
.
New
(
c
.
RemotePeer
(),
data
)
}
}
...
...
net/swarm/swarm_test.go
浏览文件 @
29ab6dec
...
...
@@ -16,6 +16,7 @@ import (
)
func
pong
(
ctx
context
.
Context
,
swarm
*
Swarm
)
{
i
:=
0
for
{
select
{
case
<-
ctx
.
Done
()
:
...
...
@@ -23,7 +24,8 @@ func pong(ctx context.Context, swarm *Swarm) {
case
m1
:=
<-
swarm
.
Incoming
:
if
bytes
.
Equal
(
m1
.
Data
(),
[]
byte
(
"ping"
))
{
m2
:=
msg
.
New
(
m1
.
Peer
(),
[]
byte
(
"pong"
))
log
.
Debug
(
"%s pong %s"
,
swarm
.
local
,
m1
.
Peer
())
i
++
log
.
Debug
(
"%s pong %s (%d)"
,
swarm
.
local
,
m1
.
Peer
(),
i
)
swarm
.
Outgoing
<-
m2
}
}
...
...
@@ -132,7 +134,7 @@ func SubtestSwarm(t *testing.T, addrs []string, MsgNum int) {
for
k
:=
0
;
k
<
MsgNum
;
k
++
{
for
_
,
p
:=
range
*
peers
{
log
.
Debug
(
"%s ping %s
"
,
s1
.
local
,
p
)
log
.
Debug
(
"%s ping %s
(%d)"
,
s1
.
local
,
p
,
k
)
s1
.
Outgoing
<-
msg
.
New
(
p
,
[]
byte
(
"ping"
))
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论