Class ConsensusConfiguration
- java.lang.Object
-
- com.exonum.binding.common.configuration.ConsensusConfiguration
-
public abstract class ConsensusConfiguration extends Object
Blockchain Consensus algorithm parameters.See Exonum configuration for Consensus configuration details.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ConsensusConfiguration.Builder
-
Constructor Summary
Constructors Constructor Description ConsensusConfiguration()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static ConsensusConfiguration.Builder
builder()
abstract long
firstRoundTimeout()
Interval between first two rounds.abstract int
maxMessageLen()
This parameter determines the maximum size of both consensus messages and transactions.abstract long
maxProposeTimeout()
Maximal propose timeout.abstract long
minProposeTimeout()
Minimal propose timeout.abstract long
peersTimeout()
This parameter defines the frequency with which a node requests collected Connect messages from a random peer node in the network.abstract int
proposeTimeoutThreshold()
Amount of transactions in pool to start use min_propose_timeout.abstract long
statusTimeout()
This parameter defines the frequency with which a node broadcasts its status message to the network.abstract int
txsBlockLimit()
Maximum number of transactions per block.static com.google.gson.TypeAdapter<ConsensusConfiguration>
typeAdapter(com.google.gson.Gson gson)
Provides a Gson type adapter for this class.
-
-
-
Method Detail
-
firstRoundTimeout
@SerializedName("first_round_timeout") public abstract long firstRoundTimeout()
Interval between first two rounds. This interval defines the time that passes between the moment a new block is committed to the blockchain and the time when second round starts, regardless of whether a new block has been committed during this period or not.Note that rounds in Exonum do not have a defined end time. Nodes in a new round can continue to vote for proposals and process messages related to previous rounds.
-
statusTimeout
@SerializedName("status_timeout") public abstract long statusTimeout()
This parameter defines the frequency with which a node broadcasts its status message to the network.
-
peersTimeout
@SerializedName("peers_timeout") public abstract long peersTimeout()
This parameter defines the frequency with which a node requests collected Connect messages from a random peer node in the network.
-
txsBlockLimit
@SerializedName("txs_block_limit") public abstract int txsBlockLimit()
Maximum number of transactions per block.
-
maxMessageLen
@SerializedName("max_message_len") public abstract int maxMessageLen()
This parameter determines the maximum size of both consensus messages and transactions.
-
minProposeTimeout
@SerializedName("min_propose_timeout") public abstract long minProposeTimeout()
Minimal propose timeout.
-
maxProposeTimeout
@SerializedName("max_propose_timeout") public abstract long maxProposeTimeout()
Maximal propose timeout.
-
proposeTimeoutThreshold
@SerializedName("propose_timeout_threshold") public abstract int proposeTimeoutThreshold()
Amount of transactions in pool to start use min_propose_timeout.
-
typeAdapter
public static com.google.gson.TypeAdapter<ConsensusConfiguration> typeAdapter(com.google.gson.Gson gson)
Provides a Gson type adapter for this class.- See Also:
CommonTypeAdapterFactory
-
builder
public static ConsensusConfiguration.Builder builder()
-
-