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
be9bfb55
Commit
be9bfb55
authored
Aug 22, 2014
by
obscuren
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Minor improvement catching up
* When catching up check linked up the chain of hashes
parent
836ed9d6
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
12 additions
and
4 deletions
+12
-4
block_pool.go
block_pool.go
+12
-4
No files found.
block_pool.go
View file @
be9bfb55
package
eth
import
(
"fmt"
"math"
"math/big"
"sync"
...
...
@@ -51,6 +52,7 @@ func (self *BlockPool) AddHash(hash []byte) {
func
(
self
*
BlockPool
)
SetBlock
(
b
*
ethchain
.
Block
,
peer
*
Peer
)
{
hash
:=
string
(
b
.
Hash
())
fmt
.
Printf
(
"::SetBlock %x
\n
"
,
hash
)
if
self
.
pool
[
hash
]
==
nil
{
self
.
pool
[
hash
]
=
&
block
{
peer
,
nil
}
...
...
@@ -88,13 +90,19 @@ func (self *BlockPool) CheckLinkAndProcess(f func(block *ethchain.Block)) bool {
}
func
(
self
*
BlockPool
)
IsLinked
()
bool
{
if
len
(
self
.
hashPool
)
==
0
||
self
.
pool
[
string
(
self
.
hashPool
[
0
])]
==
nil
{
if
len
(
self
.
hashPool
)
==
0
{
return
false
}
block
:=
self
.
pool
[
string
(
self
.
hashPool
[
0
])]
.
block
if
block
!=
nil
{
return
self
.
eth
.
BlockChain
()
.
HasBlock
(
block
.
PrevHash
)
for
i
:=
0
;
i
<
len
(
self
.
hashPool
);
i
++
{
item
:=
self
.
pool
[
string
(
self
.
hashPool
[
i
])]
if
item
!=
nil
&&
item
.
block
!=
nil
{
if
self
.
eth
.
BlockChain
()
.
HasBlock
(
item
.
block
.
PrevHash
)
{
self
.
hashPool
=
self
.
hashPool
[
i
:
]
return
true
}
}
}
return
false
...
...
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