connection-utils 0.8.0

Connection related utilities.
Documentation

static DATA_TRANSFER_CHARACTERS: &str = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ@#$%&*+=_";
static DATA_TRANSFER_DELIMITER: &str = "----";

fn add_data_transfer_string(
    start_string: impl AsRef<str> + ToString,
    len: usize,
    sequence_len: usize,
) -> String {
    let mut result = start_string.to_string();

    if result.len() >= len {
        result.truncate(len);
        return result;
    }

    for char in DATA_TRANSFER_CHARACTERS.chars() {
        for _ in 0..sequence_len {
            result = format!("{result}{char}");
        }
        result = format!("{result}{DATA_TRANSFER_DELIMITER}");

        if result.len() >= len {
            return add_data_transfer_string(result, len, sequence_len);
        }
    }

    return add_data_transfer_string(result, len, sequence_len);
}

/// Creates a debug string of the given length. The string will be composed of
/// predictable characters sequence so it easy to follow data transfer flow.
pub fn create_debug_string(
    len: usize,
) -> String {
    return add_data_transfer_string("", len, 64);
}