Commit Graph
188 Commits
Author SHA1 Message Date
Nils Andreas Svee cac3d75ccb build: update dependencies and remove redundant windows targets 2026-04-01 12:52:18 +07:00
renovate[bot] 7d833ecff8 chore(deps): update rust crate rustix to v1.1.4 2026-02-22 17:37:16 +00:00
Nils Andreas Svee c2a7c5dfdb refactor(main): Optimize reflector list assignment 2026-02-22 17:05:06 +07:00
Nils Andreas Svee a4a83222fe refactor(ratectrl): Enhance stability and file handling 2026-02-22 17:05:01 +07:00
Nils Andreas Svee c45351042e fix(pinger): Improve robustness of pinger operations 2026-02-22 17:04:56 +07:00
Nils Andreas Svee 1a87372ffb refactor(main): Centralize thread error handling 2026-02-22 16:58:01 +07:00
Nils Andreas Svee c116dd3e74 refactor(sync): Replace unwrap with anyhow-based locking 2026-02-22 16:57:11 +07:00
Nils Andreas Svee d4ad24ce4a feat(util): Introduce Mutex/RwLock error handling traits 2026-02-22 16:57:02 +07:00
Nils Andreas Svee 8589a1c7dc feat(ratecontrol): Fallback to min rates 2026-02-22 12:13:14 +07:00
Nils Andreas Svee fa370b323b feat(pinger): Configurable tick interval 2026-02-22 12:13:14 +07:00
Nils Andreas Svee 489e3f45f7 feat(config): Dynamic min rate calculation 2026-02-22 12:13:14 +07:00
Nils Andreas Svee 1357a23578 fix(reflector): Remove no-op 'len()' call 2026-02-22 12:13:14 +07:00
Nils Andreas Svee 5af42c4a22 refactor(ratecontrol): Rate calculation uses floor 2026-02-22 12:13:14 +07:00
Nils Andreas Svee f2113fa11c refactor(ratecontrol): Use custom Time for logging 2026-02-22 12:13:13 +07:00
Nils Andreas Svee 0990332f18 refactor(log): Use custom Time for timestamps 2026-02-22 12:13:13 +07:00
Nils Andreas Svee eb88107bd0 chore(deps): Remove 'time' crate 2026-02-22 12:13:13 +07:00
Nils Andreas Svee 714a121113 feat(time): Add granular time getters 2026-02-22 12:13:01 +07:00
Nils Andreas Svee 830e21363a refactor: replace rand crate with fastrand
Replaces the `rand` crate with `fastrand` for improved performance in rate control and reflector selection.
2026-02-22 00:33:57 +07:00
Nils Andreas Svee 616a3b1c70 fix(netlink): Improves error handling
Refactors error handling for interface and queue discipline operations to provide more informative error messages. This aids in debugging and user experience.
2026-02-21 23:21:32 +07:00
Nils Andreas Svee 986b649a37 feat(netlink): Refactors to use netlink-socket2
Migrates netlink implementation to use netlink-socket2 and netlink-bindings crates, replacing neli crate for improved socket handling. Removes unused dependencies.
2026-02-21 23:10:48 +07:00
Nils Andreas Svee e2962222b7 fix: Improve error handling for reflector list loading
Improves error handling when the reflector list file is not found, providing more context about the failure.
2026-02-21 23:06:32 +07:00
Nils Andreas Svee 99a7928a66 style(reflector): Reorder imports and truncate vector 2026-02-21 22:42:20 +07:00
Nils Andreas Svee 127ed692c3 refactor(reflector): Improve candidate selection loop 2026-02-21 22:42:20 +07:00
Nils Andreas Svee 2aec477b89 refactor(ratecontroller): Simplify delta_stat logic 2026-02-21 22:42:20 +07:00
Nils Andreas Svee 67bb185e28 refactor(main): Make reflector pool configurable 2026-02-21 22:42:20 +07:00
Nils Andreas Svee 66a2834192 feat(reflector): Use configurable reselection time 2026-02-21 22:42:20 +07:00
Nils Andreas Svee a4b3e7406e feat(config): Add peer reselection time 2026-02-21 22:42:20 +07:00
Nils Andreas Svee 2d21680f82 refactor(pinger): Simplifies imports
Simplifies imports by removing unused `IcmpPacketBuildError`.
2026-02-21 22:20:53 +07:00
Nils Andreas Svee 056288b0e8 fix(ratecontroller): correct generation of initial speeds 2026-02-21 22:20:30 +07:00
Nils Andreas Svee 6a49ad9112 Refactor(netlink): Replaces zerocopy with bytemuck
Migrates from `zerocopy` to `bytemuck` for improved data serialization and deserialization in netlink communication. This enhances maintainability.
2026-02-21 19:09:10 +07:00
Nils Andreas Svee 5838b0b9ee refactor: replace bincode with zerocopy
Replaces bincode with zerocopy for deserialization of network data, improving performance and reducing dependencies.
2026-02-21 18:44:43 +07:00
Nils Andreas Svee f3e7729f43 refactor: Removes redundant trait implementation
Removes the duplicate `WithTimestampRequest` trait implementation as it's now provided by the `icmp-socket` crate fork.
2026-02-21 17:25:25 +07:00
Nils Andreas Svee f5d3776159 refactor: migrate ICMP handling to icmp-socket crate 2026-02-21 17:13:54 +07:00
Nils Andreas Svee 5f13511ee3 chore: removes Dockerfile
Removes the Dockerfile.
No longer needed for current build process.
2026-02-21 15:07:10 +07:00
Nils Andreas Svee 8a3dbcfd0b ci: Archives target-specific binary
Ensures the pipeline archives the correct binary for each target architecture. Uses CARGO_BUILD_TARGET to locate and rename the binary before archiving.
2026-02-21 15:02:51 +07:00
Nils Andreas Svee 611998c5e9 fix(Jenkinsfile): Removes duplicate target
Removes a duplicate target from the Jenkinsfile. This ensures correct target specification during builds.
2026-02-21 15:02:43 +07:00
Nils Andreas Svee 83ee08052f feat: Enables nightly toolchain support
Adds support for the nightly Rust toolchain, enabling the `build-std` feature when detected. This allows building with `panic=abort` for smaller binaries.
2026-02-21 14:45:32 +07:00
Nils Andreas Svee 9c11f2ed3f ci: Configures cross-compilation for Rust
Configures the Rust build environment for cross-compilation within the CI pipeline by setting CARGO_HOME, adding local bin to PATH, and copying the linker configuration from the image. This ensures the build process uses the correct linker settings for the target architecture.
2026-02-21 14:08:24 +07:00
Nils Andreas Svee cccd3a3966 ci: remove mold and debug statements
Removes mold integration and debug statements from the CI pipeline. This simplifies the build process and improves clarity by removing unnecessary tools and logs.
2026-02-21 13:57:47 +07:00
Nils Andreas Svee d0ecf72566 ci: Adds compiler version checks
Adds compiler version checks to ensure correct toolchain setup for cross-compilation.
2026-02-21 13:42:25 +07:00
Nils Andreas Svee 07b74666ac ci: Adds debug info to CI build
Adds `ls` command to inspect the contents of the musl toolchain directory for debugging purposes in the CI environment. This aids in diagnosing potential build issues related to toolchain availability.
2026-02-21 13:37:52 +07:00
Nils Andreas Svee 9d863b470f chore: Configures mold linker for Linux
Configures the mold linker for Linux targets, excluding MIPS architectures due to incompatibility. This improves linking speed.
2026-02-21 13:30:05 +07:00
Nils Andreas Svee 684d137235 Move mold version check to after clang and gcc 2026-02-21 13:12:14 +07:00
Nils Andreas Svee b3da435125 Add GCC version check to Jenkinsfile 2026-02-21 13:03:05 +07:00
Nils Andreas Svee 44ba412bd5 Update mold version in Jenkinsfile to 2.40.4 2026-02-21 12:46:34 +07:00
Nils Andreas Svee c376880393 Update Jenkinsfile to always pull Docker image 2026-02-21 11:11:03 +07:00
Nils Andreas Svee a427d4078b chore(deps): Update rand and log imports 2026-02-21 00:22:57 +07:00
Nils Andreas Svee ad84618b46 refactor(icmp): Remove ToNativeEndian usage 2026-02-21 00:22:57 +07:00
Nils Andreas Svee 55feeafc90 refactor(netlink): Migrate qdisc functions 2026-02-21 00:22:57 +07:00
Nils Andreas Svee 121e8cda40 refactor(netlink): Migrate interface functions 2026-02-21 00:22:57 +07:00