diff --git a/README.md b/README.md index bc42ae23..32e57682 100644 --- a/README.md +++ b/README.md @@ -71,6 +71,8 @@ cargo install --git https://github.com/EasyTier/EasyTier.git easytier [Install pre-built binary](https://github.com/EasyTier/EasyTier/releases) (Recommended, All platforms supported) +For a smaller executable, try [easytier-mini](https://github.com/EasyTier/easytier-mini), which supports basic TCP/UDP networking. See its documentation for supported features and usage. + [Install via Docker](https://easytier.cn/en/guide/installation.html#installation-methods) [Install OpenWrt ipk package](https://github.com/EasyTier/luci-app-easytier) diff --git a/README_CN.md b/README_CN.md index 73de1f33..28406204 100644 --- a/README_CN.md +++ b/README_CN.md @@ -71,6 +71,8 @@ cargo install --git https://github.com/EasyTier/EasyTier.git easytier [下载预编译文件](https://github.com/EasyTier/EasyTier/releases)(推荐,支持所有平台) +需要更小的可执行文件,可使用 [easytier-mini](https://github.com/EasyTier/easytier-mini):支持基础 TCP/UDP 组网,功能范围与使用方式见其文档。 + [通过 Docker 安装](https://easytier.cn/guide/installation.html#%E5%AE%89%E8%A3%85%E6%96%B9%E5%BC%8F) [安装 OpenWrt ipk 软件包](https://github.com/EasyTier/luci-app-easytier) diff --git a/easytier-contrib/easytier-mini/README.md b/easytier-contrib/easytier-mini/README.md index b1d800fc..0ec7015c 100644 --- a/easytier-contrib/easytier-mini/README.md +++ b/easytier-contrib/easytier-mini/README.md @@ -6,6 +6,11 @@ dynamic IPv4 allocation, the smoltcp userspace path and STUN/UDP hole-punching core with the full binary. It includes AES-GCM so its default encryption setting interoperates with the full binary's default configuration. +Download [pre-built binaries](https://github.com/EasyTier/easytier-mini/releases) +from the separate [easytier-mini repository](https://github.com/EasyTier/easytier-mini), +which handles builds and releases. The source code is maintained here in the +main EasyTier repository. + Build it with: ```sh diff --git a/easytier-core/src/gateway/port_forward.rs b/easytier-core/src/gateway/port_forward.rs index 3b006ae9..00b10be3 100644 --- a/easytier-core/src/gateway/port_forward.rs +++ b/easytier-core/src/gateway/port_forward.rs @@ -892,15 +892,8 @@ mod tests { response_tasks.insert(replacement.clone(), pending_response_task(replacement_slot)); drop(admission_guard); - tokio::time::timeout(Duration::from_secs(1), async { - while clients.contains_key(&replacement) { - tokio::task::yield_now().await; - } - }) - .await - .unwrap(); - assert!(!response_tasks.contains_key(&replacement)); - + // Release the test's permit reference and wait for the full eviction; + // the client and response-task entries are removed separately. drop(replacement_client); let second_slot = tokio::time::timeout(Duration::from_secs(1), second) .await @@ -908,6 +901,9 @@ mod tests { .unwrap() .unwrap(); + assert!(!clients.contains_key(&replacement)); + assert!(!response_tasks.contains_key(&replacement)); + drop(second_slot); tokio::task::yield_now().await; assert_eq!(slots.available_permits(), 1);