Commit Graph
126 Commits
Author SHA1 Message Date
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 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
Nils Andreas Svee ca1bc8f8b5 refactor(netlink): Migrate nl_interface_get 2026-02-21 00:22:57 +07:00
Nils Andreas Svee 200ec32201 refactor(deps): Update neli imports and error types 2026-02-21 00:22:57 +07:00
Nils Andreas Svee 90d7e75096 refactor: remove custom endian traits in favor of standard library 2026-02-20 22:40:37 +07:00
Nils Andreas Svee fa20dd4137 fix(baseliner): correct up_ewma to be taken from up time 2025-06-13 12:17:46 +07:00
Nils Andreas Svee 39a6ace0a9 chore(netlink): adopt to new bincode version 2025-05-09 00:08:45 +07:00
Nils Andreas Svee d8c6b4422b chore: remove unnecessary 'mut' in baseliner loop 2025-05-08 23:49:42 +07:00
Nils Andreas Svee 31598a812f fix: use specific SliceError for etherparse 2025-05-08 23:49:14 +07:00
Nils Andreas Svee 3b9f00cd75 fix: account for rand crate changes 2025-05-08 23:48:38 +07:00
Nils Andreas Svee 7a589ffdf7 sleep for shorter intervals between each ping 2023-03-01 20:13:46 +01:00
Nils Andreas Svee 7d11f2a273 no need to have the cake definition in it's own file
also remove everything we don't use
2022-11-25 20:21:54 +01:00
Nils Andreas Svee 786639bf56 Move creation of State struct to a function 2022-11-25 20:19:06 +01:00
Nils Andreas Svee 6659e72ab4 add missing newline to stats dumping 2022-11-21 18:15:25 +01:00
Nils Andreas Svee 5c0a6c304f ratecontroller: use durations instead of manually handling time 2022-11-10 13:54:26 +01:00
Nils Andreas Svee bb9d1ed4af reflector_selector: Simplify setting sleep time 2022-10-29 22:43:47 +02:00
Nils Andreas Svee e9fb811a58 pinger: remove allow dead code 2022-10-29 22:36:05 +02:00
Nils Andreas Svee f7d39d170f Remove unused qdisc fields for now 2022-10-29 22:35:48 +02:00
Nils Andreas Svee d5823634ca Handle initialization for first ratecontroller run better 2022-10-29 22:34:52 +02:00
Nils Andreas Svee 13ba3eaffe Rename 'clock' to 'time' 2022-10-29 22:30:19 +02:00
Nils Andreas Svee befccc0d6f move util functions into respective modules 2022-10-19 21:23:52 +02:00
Nils Andreas Svee 1c38d8ff48 ratecontroller: no need to manually construct duration 2022-10-18 16:22:15 +02:00
Nils Andreas Svee d2e0d2b0be Remove ratecontroller debug print 2022-10-15 15:05:07 +02:00
Nils Andreas Svee cacc5b1a6b Apply Clippy recommendations 2022-10-15 14:58:05 +02:00
Nils Andreas Svee 34b3fc0850 Add explanation to endian module 2022-10-15 13:49:05 +02:00
Nils Andreas Svee c1286b0ba9 Add clock wrapper class 2022-10-15 13:44:30 +02:00
Nils Andreas Svee f7bbb32788 Forgot to add endian mod to main 2022-10-15 13:43:37 +02:00
Nils Andreas Svee 62bd482acb Implement to native endian functions as a trait for u32/u64 2022-10-13 18:52:13 +02:00
Nils Andreas Svee 6119408e1f Attempt changing to socket2 2022-10-13 18:03:56 +02:00
Nils Andreas Svee 1adc5fda77 Split out the ratecontroller logic into functions
The original Lua code was duplicated per direction, making it more difficult to read and more prone to mistakes when changing things.

Start splitting this logic out into functions that are called per direction
2022-10-13 17:18:54 +02:00
Nils Andreas Svee 9a1901b213 Improve pinger error handling 2022-10-13 17:16:01 +02:00
Nils Andreas Svee 290450ac1e Make sure link stats struct is stable 2022-10-13 17:15:28 +02:00
Nils Andreas Svee 432a9f2bac Add error for UTF-8 parsing 2022-10-13 17:15:13 +02:00
Nils Andreas Svee c190d2ec04 Correct qdisc error message 2022-10-13 17:14:50 +02:00