Documentation ¶
Index ¶
- type Config
- type Engine
- type OracleBlock
- type Transitive
- func (t *Transitive) Chits(vdr ids.ShortID, requestID uint32, votes []ids.ID) error
- func (t *Transitive) Get(vdr ids.ShortID, requestID uint32, blkID ids.ID) error
- func (t *Transitive) GetAncestors(vdr ids.ShortID, requestID uint32, blkID ids.ID) error
- func (t *Transitive) GetFailed(vdr ids.ShortID, requestID uint32) error
- func (t *Transitive) Gossip() error
- func (t *Transitive) Health() (interface{}, error)
- func (t *Transitive) Initialize(config Config) error
- func (t *Transitive) IsBootstrapped() bool
- func (t *Transitive) Notify(msg common.Message) error
- func (t *Transitive) PullQuery(vdr ids.ShortID, requestID uint32, blkID ids.ID) error
- func (t *Transitive) PushQuery(vdr ids.ShortID, requestID uint32, blkID ids.ID, blkBytes []byte) error
- func (t *Transitive) Put(vdr ids.ShortID, requestID uint32, blkID ids.ID, blkBytes []byte) error
- func (t *Transitive) QueryFailed(vdr ids.ShortID, requestID uint32) error
- func (t *Transitive) Shutdown() error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Engine ¶
Engine describes the events that can occur to a Snowman instance.
The engine is used to fetch, order, and decide on the fate of blocks. This engine runs the leaderless version of the Snowman consensus protocol. Therefore, the liveness of this protocol tolerant to O(sqrt(n)) Byzantine Nodes where n is the number of nodes in the network. Therefore, this protocol should only be run in a Crash Fault Tolerant environment, or in an environment where lose of liveness and manual intervention is tolerable.
type OracleBlock ¶
type OracleBlock interface { snowman.Block // Options returns the possible children of this block in the order this // validator prefers the blocks. Options() ([2]snowman.Block, error) }
OracleBlock is a block that only has two valid children. The children should be returned in preferential order.
This ordering does not need to be deterministically created from the chain state.
type Transitive ¶
type Transitive struct { bootstrap.Bootstrapper Params snowball.Parameters Consensus snowman.Consensus // contains filtered or unexported fields }
Transitive implements the Engine interface by attempting to fetch all transitive dependencies.
func (*Transitive) GetAncestors ¶
GetAncestors implements the Engine interface
func (*Transitive) GetFailed ¶
func (t *Transitive) GetFailed(vdr ids.ShortID, requestID uint32) error
GetFailed implements the Engine interface
func (*Transitive) Gossip ¶
func (t *Transitive) Gossip() error
Gossip implements the Engine interface
func (*Transitive) Health ¶
func (t *Transitive) Health() (interface{}, error)
Health implements the common.Engine interface
func (*Transitive) Initialize ¶
func (t *Transitive) Initialize(config Config) error
Initialize implements the Engine interface
func (*Transitive) IsBootstrapped ¶
func (t *Transitive) IsBootstrapped() bool
IsBootstrapped returns true iff this chain is done bootstrapping
func (*Transitive) Notify ¶
func (t *Transitive) Notify(msg common.Message) error
Notify implements the Engine interface
func (*Transitive) PushQuery ¶
func (t *Transitive) PushQuery(vdr ids.ShortID, requestID uint32, blkID ids.ID, blkBytes []byte) error
PushQuery implements the Engine interface
func (*Transitive) QueryFailed ¶
func (t *Transitive) QueryFailed(vdr ids.ShortID, requestID uint32) error
QueryFailed implements the Engine interface
func (*Transitive) Shutdown ¶
func (t *Transitive) Shutdown() error
Shutdown implements the Engine interface