From b1ab783a1466903c237db15afe41b5b5106c9979 Mon Sep 17 00:00:00 2001 From: windowsair Date: Sun, 10 Oct 2021 21:44:43 +0800 Subject: [PATCH] feat(usbip): Adopt more aggressive KCP strategy --- main/kcp_server.c | 15 +++++++++------ main/main.c | 2 +- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/main/kcp_server.c b/main/kcp_server.c index 96f251e..3a8eaec 100644 --- a/main/kcp_server.c +++ b/main/kcp_server.c @@ -71,12 +71,14 @@ static int udp_output(const char *buf, int len, ikcpcb *kcp, void *user) } int kcp_network_send(const char *buffer, int len) { - return ikcp_send(kcp1, buffer, len); + ikcp_send(kcp1, buffer, len); + ikcp_flush(kcp1); + return 0; } void kcp_server_task() { - TickType_t xLastWakeTime; + TickType_t xLastWakeTime = xTaskGetTickCount(); while (1) { kSock = socket(AF_INET, SOCK_DGRAM, IPPROTO_IP); @@ -114,13 +116,14 @@ void kcp_server_task() } kcp1->output = udp_output; - ikcp_wndsize(kcp1, 128, 128); + ikcp_wndsize(kcp1, 4096, 4096); - ikcp_nodelay(kcp1, 2, 10, 2, 1); // set fast mode - kcp1->rx_minrto = 10; + ikcp_nodelay(kcp1, 2, 2, 2, 1); // set fast mode + kcp1->interval = 0; + kcp1->rx_minrto = 1; kcp1->fastresend = 1; - ikcp_setmtu(kcp1, 1500); + ikcp_setmtu(kcp1, 768); diff --git a/main/main.c b/main/main.c index 7444a45..692e94b 100644 --- a/main/main.c +++ b/main/main.c @@ -172,7 +172,7 @@ void app_main() timer_init(); #if (USE_KCP == 1) - xTaskCreate(kcp_server_task, "kcp_server", 4096, NULL, 14, NULL); + xTaskCreate(kcp_server_task, "kcp_server", 4096, NULL, 7, NULL); #else xTaskCreate(tcp_server_task, "tcp_server", 4096, NULL, 14, NULL); #endif