pub struct CongestionControlConfigView {
pub allowed_shard_outgoing_gas: u64,
pub max_congestion_incoming_gas: u64,
pub max_congestion_memory_consumption: u64,
pub max_congestion_missed_chunks: u64,
pub max_congestion_outgoing_gas: u64,
pub max_outgoing_gas: u64,
pub max_tx_gas: u64,
pub min_outgoing_gas: u64,
pub min_tx_gas: u64,
pub outgoing_receipts_big_size_limit: u64,
pub outgoing_receipts_usual_size_limit: u64,
pub reject_tx_congestion_threshold: f64,
}
Expand description
The configuration for congestion control. More info about congestion here
JSON schema
{
"description": "The configuration for congestion control. More info about congestion [here](https://near.github.io/nearcore/architecture/how/receipt-congestion.html?highlight=congestion#receipt-congestion)",
"type": "object",
"required": [
"allowed_shard_outgoing_gas",
"max_congestion_incoming_gas",
"max_congestion_memory_consumption",
"max_congestion_missed_chunks",
"max_congestion_outgoing_gas",
"max_outgoing_gas",
"max_tx_gas",
"min_outgoing_gas",
"min_tx_gas",
"outgoing_receipts_big_size_limit",
"outgoing_receipts_usual_size_limit",
"reject_tx_congestion_threshold"
],
"properties": {
"allowed_shard_outgoing_gas": {
"description": "How much gas the chosen allowed shard can send to a 100% congested shard.\n\nSee [`CongestionControlConfig`] for more details.",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"max_congestion_incoming_gas": {
"description": "How much gas in delayed receipts of a shard is 100% incoming congestion.\n\nSee [`CongestionControlConfig`] for more details.",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"max_congestion_memory_consumption": {
"description": "How much memory space of all delayed and buffered receipts in a shard is\nconsidered 100% congested.\n\nSee [`CongestionControlConfig`] for more details.",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"max_congestion_missed_chunks": {
"description": "How many missed chunks in a row in a shard is considered 100% congested.",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"max_congestion_outgoing_gas": {
"description": "How much gas in outgoing buffered receipts of a shard is 100% congested.\n\nOutgoing congestion contributes to overall congestion, which reduces how\nmuch other shards are allowed to forward to this shard.",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"max_outgoing_gas": {
"description": "The maximum amount of gas attached to receipts a shard can forward to\nanother shard per chunk.\n\nSee [`CongestionControlConfig`] for more details.",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"max_tx_gas": {
"description": "The maximum amount of gas in a chunk spent on converting new transactions to\nreceipts.\n\nSee [`CongestionControlConfig`] for more details.",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"min_outgoing_gas": {
"description": "The minimum gas each shard can send to a shard that is not fully congested.\n\nSee [`CongestionControlConfig`] for more details.",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"min_tx_gas": {
"description": "The minimum amount of gas in a chunk spent on converting new transactions\nto receipts, as long as the receiving shard is not congested.\n\nSee [`CongestionControlConfig`] for more details.",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"outgoing_receipts_big_size_limit": {
"description": "Large size limit for outgoing receipts to a shard, used when it's safe\nto send a lot of receipts without making the state witness too large.\nIt limits the total sum of outgoing receipts, not individual receipts.",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"outgoing_receipts_usual_size_limit": {
"description": "The standard size limit for outgoing receipts aimed at a single shard.\nThis limit is pretty small to keep the size of source_receipt_proofs under control.\nIt limits the total sum of outgoing receipts, not individual receipts.",
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"reject_tx_congestion_threshold": {
"description": "How much congestion a shard can tolerate before it stops all shards from\naccepting new transactions with the receiver set to the congested shard.",
"type": "number",
"format": "double"
}
}
}
Fields§
§allowed_shard_outgoing_gas: u64
How much gas the chosen allowed shard can send to a 100% congested shard.
See [CongestionControlConfig
] for more details.
max_congestion_incoming_gas: u64
How much gas in delayed receipts of a shard is 100% incoming congestion.
See [CongestionControlConfig
] for more details.
max_congestion_memory_consumption: u64
How much memory space of all delayed and buffered receipts in a shard is considered 100% congested.
See [CongestionControlConfig
] for more details.
max_congestion_missed_chunks: u64
How many missed chunks in a row in a shard is considered 100% congested.
max_congestion_outgoing_gas: u64
How much gas in outgoing buffered receipts of a shard is 100% congested.
Outgoing congestion contributes to overall congestion, which reduces how much other shards are allowed to forward to this shard.
max_outgoing_gas: u64
The maximum amount of gas attached to receipts a shard can forward to another shard per chunk.
See [CongestionControlConfig
] for more details.
max_tx_gas: u64
The maximum amount of gas in a chunk spent on converting new transactions to receipts.
See [CongestionControlConfig
] for more details.
min_outgoing_gas: u64
The minimum gas each shard can send to a shard that is not fully congested.
See [CongestionControlConfig
] for more details.
min_tx_gas: u64
The minimum amount of gas in a chunk spent on converting new transactions to receipts, as long as the receiving shard is not congested.
See [CongestionControlConfig
] for more details.
outgoing_receipts_big_size_limit: u64
Large size limit for outgoing receipts to a shard, used when it’s safe to send a lot of receipts without making the state witness too large. It limits the total sum of outgoing receipts, not individual receipts.
outgoing_receipts_usual_size_limit: u64
The standard size limit for outgoing receipts aimed at a single shard. This limit is pretty small to keep the size of source_receipt_proofs under control. It limits the total sum of outgoing receipts, not individual receipts.
reject_tx_congestion_threshold: f64
Trait Implementations§
Source§impl Clone for CongestionControlConfigView
impl Clone for CongestionControlConfigView
Source§fn clone(&self) -> CongestionControlConfigView
fn clone(&self) -> CongestionControlConfigView
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more