|
@@ -99,13 +99,17 @@ pub fn get_supported_protocols() -> String {
|
|
|
}
|
|
|
|
|
|
/// Translates a vector representation of a protocol list into a HashMap
|
|
|
-fn parse_protocols<'a, P: Iterator<Item = &'a str>>(
|
|
|
+fn parse_protocols<P, S>(
|
|
|
protocols: P,
|
|
|
-) -> Result<HashMap<Proto, HashSet<u32>>, &'static str> {
|
|
|
+) -> Result<HashMap<Proto, HashSet<u32>>, &'static str>
|
|
|
+where
|
|
|
+ P: Iterator<Item = S>,
|
|
|
+ S: AsRef<str>,
|
|
|
+{
|
|
|
let mut parsed = HashMap::new();
|
|
|
|
|
|
for subproto in protocols {
|
|
|
- let (name, version) = get_proto_and_vers(subproto)?;
|
|
|
+ let (name, version) = get_proto_and_vers(subproto.as_ref())?;
|
|
|
parsed.insert(name, version);
|
|
|
}
|
|
|
Ok(parsed)
|
|
@@ -130,7 +134,7 @@ fn parse_protocols_from_string<'a>(
|
|
|
/// of the error.
|
|
|
///
|
|
|
fn tor_supported() -> Result<HashMap<Proto, HashSet<u32>>, &'static str> {
|
|
|
- parse_protocols(SUPPORTED_PROTOCOLS.iter().map(|n| *n))
|
|
|
+ parse_protocols(SUPPORTED_PROTOCOLS.iter())
|
|
|
}
|
|
|
|
|
|
/// Get the unique version numbers supported by a subprotocol.
|