Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
whqwjb
go-ethereum
提交
d2edc2bb
G
go-ethereum
项目概览
whqwjb
/
go-ethereum
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
go-ethereum
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d2edc2bb
编写于
2月 10, 2014
作者:
O
obscuren
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Added some loggers
上级
8db7d791
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
16 addition
and
8 deletion
+16
-8
peer.go
peer.go
+16
-8
未找到文件。
peer.go
浏览文件 @
d2edc2bb
...
...
@@ -26,14 +26,20 @@ const (
DiscBadProto
=
0x02
DiscBadPeer
=
0x03
DiscTooManyPeers
=
0x04
DiscConnDup
=
0x05
DiscGenesisErr
=
0x06
DiscProtoErr
=
0x07
)
var
discReasonToString
=
[]
string
{
"Disconnect requested"
,
"Disconnect TCP sys error"
,
"Disconnect Bad protocol"
,
"Disconnect Useless peer"
,
"Disconnect Too many peers"
,
"Disconnect bad protocol"
,
"Disconnect useless peer"
,
"Disconnect too many peers"
,
"Disconnect already connected"
,
"Disconnect wrong genesis block"
,
"Disconnect incompatible network"
,
}
func
(
d
DiscReason
)
String
()
string
{
...
...
@@ -241,7 +247,6 @@ clean:
// Inbound handler. Inbound messages are received here and passed to the appropriate methods
func
(
p
*
Peer
)
HandleInbound
()
{
out
:
for
atomic
.
LoadInt32
(
&
p
.
disconnect
)
==
0
{
// HMM?
time
.
Sleep
(
500
*
time
.
Millisecond
)
...
...
@@ -250,8 +255,6 @@ out:
msgs
,
err
:=
ethwire
.
ReadMessages
(
p
.
conn
)
if
err
!=
nil
{
log
.
Println
(
err
)
break
out
}
for
_
,
msg
:=
range
msgs
{
switch
msg
.
Type
{
...
...
@@ -276,9 +279,10 @@ out:
case
ethwire
.
MsgBlockTy
:
// Get all blocks and process them
msg
.
Data
=
msg
.
Data
var
block
*
ethchain
.
Block
for
i
:=
msg
.
Data
.
Length
()
-
1
;
i
>=
0
;
i
--
{
// FIXME
block
:
=
ethchain
.
NewBlockFromRlpValue
(
ethutil
.
NewValue
(
msg
.
Data
.
Get
(
i
)
.
AsRaw
()))
block
=
ethchain
.
NewBlockFromRlpValue
(
ethutil
.
NewValue
(
msg
.
Data
.
Get
(
i
)
.
AsRaw
()))
err
:=
p
.
ethereum
.
BlockManager
.
ProcessBlock
(
block
)
if
err
!=
nil
{
...
...
@@ -288,6 +292,10 @@ out:
// If we're catching up, try to catch up further.
if
p
.
catchingUp
&&
msg
.
Data
.
Length
()
>
1
{
if
ethutil
.
Config
.
Debug
{
blockInfo
:=
p
.
ethereum
.
BlockManager
.
BlockChain
()
.
BlockInfo
(
block
)
log
.
Printf
(
"Synced to block height #%d
\n
"
,
blockInfo
.
Number
)
}
p
.
catchingUp
=
false
p
.
CatchupWithPeer
()
}
...
...
@@ -500,7 +508,7 @@ func (p *Peer) CatchupWithPeer() {
msg
:=
ethwire
.
NewMessage
(
ethwire
.
MsgGetChainTy
,
[]
interface
{}{
p
.
ethereum
.
BlockManager
.
BlockChain
()
.
CurrentBlock
.
Hash
(),
uint64
(
50
)})
p
.
QueueMessage
(
msg
)
log
.
Printf
(
"Requesting blockchain
up from %x
\n
"
,
p
.
ethereum
.
BlockManager
.
BlockChain
()
.
CurrentBlock
.
Hash
()
)
log
.
Printf
(
"Requesting blockchain
%x...
\n
"
,
p
.
ethereum
.
BlockManager
.
BlockChain
()
.
CurrentBlock
.
Hash
()[
:
4
]
)
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录