connection_utils/test/
create_debug_string.rs

1
2static DATA_TRANSFER_CHARACTERS: &str = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ@#$%&*+=_";
3static DATA_TRANSFER_DELIMITER: &str = "----";
4
5fn add_data_transfer_string(
6    start_string: impl AsRef<str> + ToString,
7    len: usize,
8    sequence_len: usize,
9) -> String {
10    let mut result = start_string.to_string();
11
12    if result.len() >= len {
13        result.truncate(len);
14        return result;
15    }
16
17    for char in DATA_TRANSFER_CHARACTERS.chars() {
18        for _ in 0..sequence_len {
19            result = format!("{result}{char}");
20        }
21        result = format!("{result}{DATA_TRANSFER_DELIMITER}");
22
23        if result.len() >= len {
24            return add_data_transfer_string(result, len, sequence_len);
25        }
26    }
27
28    return add_data_transfer_string(result, len, sequence_len);
29}
30
31/// Creates a debug string of the given length. The string will be composed of
32/// predictable characters sequence so it easy to follow data transfer flow.
33pub fn create_debug_string(
34    len: usize,
35) -> String {
36    return add_data_transfer_string("", len, 64);
37}