async fn build_shuffle_sender(
node_id: u64,
discovery: &DiscoveryImpl,
advertise_addr: String,
) -> ShuffleSenderExpand description
Build an outbound shuffle sender. When gossip discovery is active,
publish advertise_addr under SHUFFLE_ADDR_KEY so peers find us, and
give the sender a KV handle for reverse lookup. Static discovery
has no KV tier, so we hand back a bare sender — peers must be
registered explicitly by whatever sets up the shuffle topology.