Nils Andreas Svee
44f551d38c
feat(observability): Add InfluxDB Line Protocol metrics module and config
2026-04-13 15:01:45 +07:00
Nils Andreas Svee
853f807e2c
feat: add metrics module for monitoring
...
Initialize the Metrics structure to receive and process ping statistics as part of the monitoring subsystem.
2026-04-13 12:11:05 +07:00
Nils Andreas Svee
f0fb3c9640
feat(monitoring): add dry-run mode to simulate qdisc rate changes
...
Enable a monitoring-only mode that logs intended bandwidth adjustments without applying them to the system via netlink.
2026-04-13 12:11:05 +07:00
Nils Andreas Svee
6d44556d63
style: reformat thread builder calls in main.rs
...
Standardize the formatting of thread spawning for the receiver and sender to improve code consistency and readability.
2026-04-13 12:06:50 +07:00
Nils Andreas Svee
8461d29788
build: bump version to 0.3.0
...
Update package version in Cargo.toml and Cargo.lock to reflect a new release.
v0.3.0
2026-04-01 12:55:52 +07:00
Nils Andreas Svee
9c51853147
refactor: update imports to use icmp-socket2
2026-04-01 12:52:19 +07:00
Nils Andreas Svee
050291990a
build: migrate from icmp-socket to icmp-socket2
2026-04-01 12:52:19 +07:00
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