Skip to content

Commit a8f6254

Browse files
committed
Update query multiple master servers.
- Add take_server_addresses method to QuerySuccess - Change MultiQueryResult::server_addresses to return Vec<String>
1 parent 3a6a4d6 commit a8f6254

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

src/query_multiple.rs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ impl QuerySuccess {
1616
pub fn server_addresses(&self) -> impl Iterator<Item = &String> {
1717
self.server_addresses.iter()
1818
}
19+
20+
pub fn take_server_addresses(self) -> Vec<String> {
21+
self.server_addresses
22+
}
1923
}
2024

2125
#[derive(Debug)]
@@ -53,16 +57,16 @@ impl MultiQueryResult {
5357
self.failures.iter()
5458
}
5559

56-
/// Iterator over unique server addresses from successful queries.
57-
pub fn server_addresses(&self) -> impl Iterator<Item = String> {
60+
/// Unique server addresses from successful queries.
61+
pub fn server_addresses(&self) -> Vec<String> {
5862
let mut addresses: Vec<String> = self
5963
.successes
6064
.iter()
6165
.flat_map(|res| res.server_addresses().cloned())
6266
.collect();
6367
addresses.sort();
6468
addresses.dedup();
65-
addresses.into_iter()
69+
addresses
6670
}
6771
}
6872

@@ -126,7 +130,7 @@ mod tests {
126130
];
127131
let results = query_multiple(&master_addresses, Duration::from_secs(2)).await;
128132

129-
assert!(results.server_addresses().count() >= 300);
133+
assert!(results.server_addresses().len() >= 300);
130134
assert!(2 == results.successful_queries().count());
131135
assert!(1 == results.failed_queries().count());
132136

0 commit comments

Comments
 (0)