Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
Geth-Modification
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张蕾
Geth-Modification
Commits
ecd19919
Commit
ecd19919
authored
Jun 18, 2015
by
Péter Szilágyi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
eth/fetcher: allow backward uncle imports too
parent
90d45f03
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
3 additions
and
2 deletions
+3
-2
fetcher.go
eth/fetcher/fetcher.go
+3
-2
No files found.
eth/fetcher/fetcher.go
View file @
ecd19919
...
@@ -16,6 +16,7 @@ import (
...
@@ -16,6 +16,7 @@ import (
const
(
const
(
arriveTimeout
=
500
*
time
.
Millisecond
// Time allowance before an announced block is explicitly requested
arriveTimeout
=
500
*
time
.
Millisecond
// Time allowance before an announced block is explicitly requested
fetchTimeout
=
5
*
time
.
Second
// Maximum alloted time to return an explicitly requested block
fetchTimeout
=
5
*
time
.
Second
// Maximum alloted time to return an explicitly requested block
maxUncleDist
=
7
// Maximum allowed backward distance from the chain head
maxQueueDist
=
256
// Maximum allowed distance from the chain head to queue
maxQueueDist
=
256
// Maximum allowed distance from the chain head to queue
)
)
...
@@ -202,7 +203,7 @@ func (f *Fetcher) loop() {
...
@@ -202,7 +203,7 @@ func (f *Fetcher) loop() {
break
break
}
}
// Otherwise if fresh and still unknown, try and import
// Otherwise if fresh and still unknown, try and import
if
number
<=
height
||
f
.
getBlock
(
op
.
block
.
Hash
())
!=
nil
{
if
number
+
maxUncleDist
<
height
||
f
.
getBlock
(
op
.
block
.
Hash
())
!=
nil
{
continue
continue
}
}
f
.
insert
(
op
.
origin
,
op
.
block
)
f
.
insert
(
op
.
origin
,
op
.
block
)
...
@@ -317,7 +318,7 @@ func (f *Fetcher) enqueue(peer string, block *types.Block) {
...
@@ -317,7 +318,7 @@ func (f *Fetcher) enqueue(peer string, block *types.Block) {
hash
:=
block
.
Hash
()
hash
:=
block
.
Hash
()
// Discard any past or too distant blocks
// Discard any past or too distant blocks
if
dist
:=
int64
(
block
.
NumberU64
())
-
int64
(
f
.
chainHeight
());
dist
<
=
0
||
dist
>
maxQueueDist
{
if
dist
:=
int64
(
block
.
NumberU64
())
-
int64
(
f
.
chainHeight
());
dist
<
-
maxUncleDist
||
dist
>
maxQueueDist
{
glog
.
V
(
logger
.
Detail
)
.
Infof
(
"Peer %s: discarded block #%d [%x], distance %d"
,
peer
,
block
.
NumberU64
(),
hash
.
Bytes
()[
:
4
],
dist
)
glog
.
V
(
logger
.
Detail
)
.
Infof
(
"Peer %s: discarded block #%d [%x], distance %d"
,
peer
,
block
.
NumberU64
(),
hash
.
Bytes
()[
:
4
],
dist
)
return
return
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment