#![allow(unused)]
#[derive(Debug, Clone, Copy)]
pub struct Kcp2KConfig {
pub dual_mode: bool,
pub recv_buffer_size: usize,
pub send_buffer_size: usize,
pub mtu: usize,
pub no_delay: bool,
pub interval: i32,
pub fast_resend: i32,
pub congestion_window: bool,
pub send_window_size: u16,
pub receive_window_size: u16,
pub timeout: u64,
pub max_retransmits: u32,
pub is_reliable_ping: bool,
}
impl Kcp2KConfig {
pub const PING_INTERVAL: u64 = 1000;
pub const CHANNEL_HEADER_SIZE: usize = 1;
pub const COOKIE_HEADER_SIZE: usize = 4;
pub const METADATA_SIZE_RELIABLE: usize = Self::CHANNEL_HEADER_SIZE + Self::COOKIE_HEADER_SIZE;
pub const METADATA_SIZE_UNRELIABLE: usize = Self::CHANNEL_HEADER_SIZE + Self::COOKIE_HEADER_SIZE;
}
impl Default for Kcp2KConfig {
fn default() -> Self {
Kcp2KConfig {
dual_mode: false,
recv_buffer_size: 1024 * 1024 * 7,
send_buffer_size: 1024 * 1024 * 7,
mtu: 1200, no_delay: true,
interval: 10,
fast_resend: 0,
congestion_window: false,
send_window_size: 32, receive_window_size: 128, timeout: 2000, max_retransmits: 20, is_reliable_ping: true, }
}
}