diff options
author | Mission Liao <mission.liao@dexon.org> | 2018-10-11 19:33:25 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-11 19:33:25 +0800 |
commit | 490fa1e9ce2b661e4c8b612bd53f20123346353b (patch) | |
tree | 2ef4a4fabb1e21d46ef3e47538dadfeecdf2cf4d /core/nonblocking.go | |
parent | f3e9eb613c7e8dec6b8c6b1b0a20ddbec4e91a9c (diff) | |
download | dexon-consensus-490fa1e9ce2b661e4c8b612bd53f20123346353b.tar.gz dexon-consensus-490fa1e9ce2b661e4c8b612bd53f20123346353b.tar.zst dexon-consensus-490fa1e9ce2b661e4c8b612bd53f20123346353b.zip |
core: change interface (#193)
* Extract types.FinalizationResult
* Change interface:
- Application.BlockConfirmed returns whole block.
- Application.BlockDelivered returns partial result.
Diffstat (limited to 'core/nonblocking.go')
-rw-r--r-- | core/nonblocking.go | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/core/nonblocking.go b/core/nonblocking.go index 83c2351..9bedb4b 100644 --- a/core/nonblocking.go +++ b/core/nonblocking.go @@ -26,7 +26,7 @@ import ( ) type blockConfirmedEvent struct { - blockHash common.Hash + block *types.Block } type stronglyAckedEvent struct { @@ -39,7 +39,8 @@ type totalOrderingDeliveredEvent struct { } type blockDeliveredEvent struct { - block *types.Block + blockHash common.Hash + result *types.FinalizationResult } // nonBlocking implements these interfaces and is a decorator for @@ -94,11 +95,11 @@ func (nb *nonBlocking) run() { case stronglyAckedEvent: nb.debug.StronglyAcked(e.blockHash) case blockConfirmedEvent: - nb.app.BlockConfirmed(e.blockHash) + nb.app.BlockConfirmed(*e.block) case totalOrderingDeliveredEvent: nb.debug.TotalOrderingDelivered(e.blockHashes, e.early) case blockDeliveredEvent: - nb.app.BlockDelivered(*e.block) + nb.app.BlockDelivered(e.blockHash, *e.result) default: fmt.Printf("Unknown event %v.", e) } @@ -133,9 +134,9 @@ func (nb *nonBlocking) VerifyBlock(block *types.Block) bool { } // BlockConfirmed is called when a block is confirmed and added to lattice. -func (nb *nonBlocking) BlockConfirmed(blockHash common.Hash) { +func (nb *nonBlocking) BlockConfirmed(block types.Block) { if nb.debug != nil { - nb.addEvent(blockConfirmedEvent{blockHash}) + nb.addEvent(blockConfirmedEvent{&block}) } } @@ -156,6 +157,10 @@ func (nb *nonBlocking) TotalOrderingDelivered( } // BlockDelivered is called when a block is add to the compaction chain. -func (nb *nonBlocking) BlockDelivered(block types.Block) { - nb.addEvent(blockDeliveredEvent{&block}) +func (nb *nonBlocking) BlockDelivered( + blockHash common.Hash, result types.FinalizationResult) { + nb.addEvent(blockDeliveredEvent{ + blockHash: blockHash, + result: &result, + }) } |