pop3-client 0.3.0

Another pop3 client
Documentation
use crate::{Command, Response, Pop3Error};

pub type Result<T> = std::result::Result<T, Pop3Error>;

#[cfg(feature = "runtime-sync")]
mod sync;


#[cfg(feature = "runtime-tokio")]
mod tokio;


#[cfg(feature = "runtime-sync")]
pub use sync::SyncClient;


#[cfg(feature = "runtime-tokio")]
pub use tokio::AsyncClient;

fn join_bytes(arrays: &[&[u8]], separator: u8) -> Vec<u8> {
    let cap: usize = arrays.iter().map(|a| a.len()).sum();

    let mut result = Vec::with_capacity(cap + arrays.len() - 1);

    for (i, array) in arrays.iter().enumerate() {
        result.extend_from_slice(array);
        if i < arrays.len() - 1 {
            result.push(separator);
        }
    }

    result
}