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.