github.com/onflow/flow-go@v0.35.7-crescendo-preview.23-atree-inlining/engine/consensus/matching.go (about) 1 package consensus 2 3 import "github.com/onflow/flow-go/model/flow" 4 5 // MatchingCore collects inbound receipts from Execution Node 6 // for potential inclusion in future blocks. 7 // Implementations of MatchingCore are generally NOT concurrency safe. 8 type MatchingCore interface { 9 // ProcessReceipt processes a new execution receipt in blocking way. 10 // Returns: 11 // * exception in case of unexpected error 12 // * nil - successfully processed receipt 13 ProcessReceipt(receipt *flow.ExecutionReceipt) error 14 // OnBlockFinalization notifies the engine that a (potentially new) block was finalized. 15 // Implementations are non-blocking. 16 // Returns: 17 // * exception in case of unexpected error 18 // * nil - successfully processed finalized block 19 OnBlockFinalization() error 20 }