blob: e784b340c5f651e3c267a203fe67f03e2475a989 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
pub fn reverse_flow_id(flow_id: &String) -> String {
let mut reversed_flow_id = String::new();
let mut flow_id_vec: Vec<&str> = flow_id.split(";").collect();
flow_id_vec.pop();
for item in flow_id_vec.iter() {
let mut item_vec: Vec<&str> = item.split("->").collect();
item_vec.reverse();
reversed_flow_id.push_str(&item_vec.join("->"));
reversed_flow_id.push_str(";");
}
reversed_flow_id
}
/******************************************************************************
* TEST
******************************************************************************/
#[cfg(test)]
mod tests {
use super::reverse_flow_id;
#[test]
fn test_reverse_flow_id() {
let flow_id = "192.168.0.101->121.14.154.93;TCP->TCP;50081->443;2409:8034:4025::50:a31->2409:8034:4040:5301::204;UDP->UDP;9993->9994;".to_string();
assert_eq!(reverse_flow_id(&flow_id), "121.14.154.93->192.168.0.101;TCP->TCP;443->50081;2409:8034:4040:5301::204->2409:8034:4025::50:a31;UDP->UDP;9994->9993;".to_string());
}
}
|