allows sendmmsg api taking owned values (as well as references) (#18999)

Current signature of api in sendmmsg requires a slice of inner
references:
https://github.com/solana-labs/solana/blob/fe1ee4980/streamer/src/sendmmsg.rs#L130-L152

That forces the call-site to convert owned values to references even
though doing so is redundant and adds an extra level of indirection:
https://github.com/solana-labs/solana/blob/fe1ee4980/core/src/repair_service.rs#L291

This commit expands the api using AsRef and Borrow traits to allow
calling the method with owned values (as well as references like
before).
This commit is contained in:
behzad nouri
2021-07-30 20:58:49 +00:00
committed by GitHub
parent 21bc43ed58
commit 049fb0417f
4 changed files with 41 additions and 17 deletions

View File

@ -1250,13 +1250,13 @@ impl ClusterInfo {
let dests: Vec<_> = if forwarded {
peers
.iter()
.map(|peer| &peer.tvu_forwards)
.map(|peer| peer.tvu_forwards)
.filter(|addr| ContactInfo::is_valid_address(addr, socket_addr_space))
.collect()
} else {
peers
.iter()
.map(|peer| &peer.tvu)
.map(|peer| peer.tvu)
.filter(|addr| socket_addr_space.check(addr))
.collect()
};