generalconfig

package
v0.0.0-...-ff61ee7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 5, 2020 License: GPL-3.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckFaulty

func CheckFaulty(idx types.ConsensusIndex, gc *GeneralConfig) bool

CheckFaulty returns true if the node should act faulty

Types

type ExtraInitState

type ExtraInitState interface {
}

type GeneralConfig

type GeneralConfig struct {
	UseFixedSeed       bool                     // If true then use a fix seed to generate proposals/coin
	InitHeaders        []messages.MsgHeader     // These are headers that will be appended at the beginning of all consensus messages for any consensus instance.
	PartialMessageType types.PartialMessageType // if true then mv init messsages will be sent as partial messages
	SetTestConfig      bool                     // for santiy check
	Priv               sig.Priv                 // The local nodes private key // TODO remove this since we should only use the keys that we can receive from the member checker
	Stats              stats.StatsInterface     // performances statistics
	TestIndex          int                      // process i
	Eis                ExtraInitState
	NetworkType        types.NetworkPropagationType // The network type to use (all to all or gossip)
	AllowConcurrent    types.ConsensusInt           // Number of concurrent consensus instances allowed to be run
	Ordering           types.OrderingType
	AllowSupportCoin   bool           // True if AuxProofMessages can support the coin directly instead of a bin value.
	ConsType           types.ConsType // The type of consensus being used for the test.
	CPUProfile         bool           // Profile CPU usage
	MemProfile         bool           // Profile Memory allocation
	TestID             uint64         // Unique test ID
	// UseFullBinaryState will (if true) keep the consensus state as the list of all valid messages received appended together,
	// if false stores only different messages with all the signatures at the end
	UseFullBinaryState          bool
	IncludeCurrentSigs          bool                       // When forwarding a message (for non all-to-all networks) will incude all sigs received so far
	CollectBroadcast            types.CollectBroadcastType // If true, when sending the commit message, will send it to the leader
	IncludeProofs               bool                       // Include signatures as part of messages that prove you are sending a valid message (see protocol description)
	StopOnCommit                types.StopOnCommitType     // If true then the consensus will not execute rounds after deciding (the eventual message propagation will ensure termination)
	ByzStartIndex               uint64                     // Index to start faulty behaviour
	IsByz                       bool                       // True if the node is faulty
	NoSignatures                bool                       // Use encrypted channels instead of signatures
	EncryptChannels             bool                       // If the channels are encrypted
	CoinType                    types.CoinType             // The type of coin being used
	UseTp1CoinThresh            bool                       // if true need t+1 signatures for a threshold signature, false otherwise
	UseFixedCoinPresets         bool                       // If true then will use predefined coins for the initial rounds of randomized consensus
	UseMultiSig                 bool                       // True if multisignatures are enabled.
	MemCheckerBitIDType         types.BitIDType            // If using multi-sigs the type of bit ID to use in the member checker
	SigBitIDType                types.BitIDType            // If using multi-sigs the type of bit ID to use with the signatures
	WarmUpInstances             int                        // Number of consensus instances to run before recording results
	KeepPast                    int                        // Number of previously decided consensus instances to keep in memory
	ForwardTimeout              int                        // milliseconds 	// for msg forwarder when you dont receive enough messages to foward a buffer automatically
	RandForwardTimeout          int                        // amount of time to randomly add to Forward timeout
	ProgressTimeout             int                        // milliseconds, if no progress in this time, let neighbors know
	MvConsTimeout               int                        // millseconds timeout when taking an action in the MV consensus algorithms
	MvConsVRFTimeout            int                        // millseconds timeout for waiting for a proposal when VRFs are enabled (only used by MVCons3)
	MvConsRequestRecoverTimeout int                        // millseconds timeout before requesting the full proposal after delivering the hash
	NodeChoiceVRFRelaxation     int                        // Additional chance to chose a node as a member when using VRF.
	CoordChoiceVRF              int                        // Chance of each node being chosen as a coordinator when using VRF.
	UseRandCoord                bool                       // If true round coordinators will be chosen using VRFs
	BufferForwardType           types.BufferForwardType    // Type of buffer forwarder to use
	MvCons4BcastType            types.MvCons4BcastType     // the type of message broadcast used by MvCons4
	MCType                      types.MemberCheckerType    // if TestMemberCheckers is false, then test a specific type
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL