gecko/snow/events/blockable.go

21 lines
569 B
Go

// (c) 2019-2020, Ava Labs, Inc. All rights reserved.
// See the file LICENSE for licensing terms.
package events
import (
"github.com/ava-labs/gecko/ids"
)
// Blockable defines what an object must implement to be able to block on events
type Blockable interface {
// IDs that this object is blocking on
Dependencies() ids.Set
// Notify this object that an event has been fulfilled
Fulfill(ids.ID)
// Notify this object that an event has been abandoned
Abandon(ids.ID)
// Update the state of this object without changing the status of any events
Update()
}