use std::sync::atomic::AtomicU64;
mod cli;
mod protocol;
mod protocol_io;
mod session;
mod summary;
mod transfer;
mod util;
#[cfg(test)]
mod tests;
pub use cli::{ConnectConfig, NetworkCommand, ShareConfig, SyncDirection, print_subcommand_help};
pub use session::{run_connect, run_connect_with_progress, run_share, run_share_with_progress};
const DEFAULT_BIND_PORT: u16 = 7443;
const PROTOCOL_VERSION: u16 = 7;
const MAX_MESSAGE_SIZE: usize = 1024 * 1024;
const BUFFER_SIZE: usize = 1024 * 1024;
const MAX_NETWORK_FILE_CONCURRENCY: usize = 64;
const HASH_REQUEST_BATCH_SIZE: usize = 128;
static TEMP_COUNTER: AtomicU64 = AtomicU64::new(0);
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum ShareMode {
Send,
Receive,
Both,
}