mirror of
https://github.com/vacp2p/specs.git
synced 2026-01-09 15:28:03 -05:00
Merge pull request #383 from Menduist/unsubbackoff
Gossipsub: Unsubscribe backoff
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
| Lifecycle Stage | Maturity | Status | Latest Revision |
|
| Lifecycle Stage | Maturity | Status | Latest Revision |
|
||||||
|-----------------|---------------------------|--------|-----------------|
|
|-----------------|---------------------------|--------|-----------------|
|
||||||
| 2A | Candidate Recommendation | Active | r7, 2020-05-30 |
|
| 2A | Candidate Recommendation | Active | r8, 2021-12-14 |
|
||||||
|
|
||||||
Authors: [@vyzo]
|
Authors: [@vyzo]
|
||||||
|
|
||||||
@@ -105,6 +105,10 @@ within the backoff period and extend it.
|
|||||||
When a peer tries to regraft too early, the pruning peer may apply a behavioural penalty
|
When a peer tries to regraft too early, the pruning peer may apply a behavioural penalty
|
||||||
for the action, and penalize the peer through P₇ (see [Peer Scoring](#peer-scoring) below).
|
for the action, and penalize the peer through P₇ (see [Peer Scoring](#peer-scoring) below).
|
||||||
|
|
||||||
|
When unsubscribing from a topic, the backoff period should be finished before subscribing to
|
||||||
|
the topic again, otherwise a healthy mesh will be difficult to reach.
|
||||||
|
A shorter backoff period can be used in case of an unsubscribe event, allowing faster resubscribing.
|
||||||
|
|
||||||
The recommended duration for the backoff period is 1 minute, while the recommended number of peers
|
The recommended duration for the backoff period is 1 minute, while the recommended number of peers
|
||||||
to exchange is larger than `D_hi` so that the pruned peer can reliably form a full mesh.
|
to exchange is larger than `D_hi` so that the pruned peer can reliably form a full mesh.
|
||||||
In order to correctly synchronize the two peers, the pruning peer should include the backoff period
|
In order to correctly synchronize the two peers, the pruning peer should include the backoff period
|
||||||
@@ -537,13 +541,14 @@ parameters. This section summarizes all the new parameters along with a brief de
|
|||||||
|
|
||||||
The following parameters apply globally:
|
The following parameters apply globally:
|
||||||
|
|
||||||
| Parameter | Type | Description | Reasonable Default |
|
| Parameter | Type | Description | Reasonable Default |
|
||||||
|----------------|------------------|------------------------------------------------------------------------|--------------------|
|
|----------------------|------------------|------------------------------------------------------------------------|--------------------|
|
||||||
| `PruneBackoff` | Duration | Time after pruning a mesh peer before we consider grafting them again. | `1 minute` |
|
| `PruneBackoff` | Duration | Time after pruning a mesh peer before we consider grafting them again. | `1 minute` |
|
||||||
| `FloodPublish` | Boolean | Whether to enable flood publishing | `true` |
|
| `UnsubscribeBackoff` | Duration | Backoff to use when unsuscribing from a topic. Should not resubscribe to this topic before it expired. | `10 seconds` |
|
||||||
| `GossipFactor` | Float [0.0, 1.0] | % of peers to send gossip to, if we have more than `D_lazy` available | `0.25` |
|
| `FloodPublish` | Boolean | Whether to enable flood publishing | `true` |
|
||||||
| `D_score` | Integer | Number of peers to retain by score when pruning because of oversubscription | 4 or 5 for a `D` of 6. |
|
| `GossipFactor` | Float [0.0, 1.0] | % of peers to send gossip to, if we have more than `D_lazy` available | `0.25` |
|
||||||
| `D_out` | Integer | Number of outbound connections to keep in the mesh. Must be less than `D_lo` and at most `D/2` | 2 for a `D` of 6 |
|
| `D_score` | Integer | Number of peers to retain by score when pruning because of oversubscription | 4 or 5 for a `D` of 6. |
|
||||||
|
| `D_out` | Integer | Number of outbound connections to keep in the mesh. Must be less than `D_lo` and at most `D/2` | 2 for a `D` of 6 |
|
||||||
|
|
||||||
The remaining parameters apply to [Peer Scoring](#peer-scoring). Because many parameters are
|
The remaining parameters apply to [Peer Scoring](#peer-scoring). Because many parameters are
|
||||||
inter-related and may be application-specific, reasonable defaults are not shown here. See
|
inter-related and may be application-specific, reasonable defaults are not shown here. See
|
||||||
|
|||||||
Reference in New Issue
Block a user