Skip to main content

replicate_fresh

Function replicate_fresh 

Source
pub async fn replicate_fresh(
    key: &XorName,
    data: &[u8],
    proof_of_payment: &[u8],
    p2p_node: &Arc<P2PNode>,
    paid_list: &Arc<PaidList>,
    config: &ReplicationConfig,
    send_semaphore: &Arc<Semaphore>,
) -> Vec<PeerId>
Expand description

Execute fresh replication for a newly accepted record.

Sends fresh offers to close group members (with bounded delivery retries, ADR-0003) and PaidNotify to PaidCloseGroup. Returns the close-group peers responsible for the key (excluding self) so the caller can schedule the delayed possession check; PaidNotify remains fire-and-forget.

The send_semaphore limits how many outbound chunk transfers can be in-flight concurrently across the entire replication engine, preventing bandwidth saturation on home broadband connections.