Commit Graph
39 Commits
Author SHA1 Message Date
Nils Andreas Svee 4aaf8fa100 chore: add SPDX license identifiers and copyright headers to source files
Apply the MPL-2.0 license to all source files and include the full license text to ensure legal compliance and proper attribution.
2026-04-23 12:39:52 +07:00
Nils Andreas Svee 58d536bb22 refactor(pinger): replace hashlru with standard HashMap and manual TTL cleanup
Remove the hashlru dependency to reduce bloat, replacing it with a Mutex-wrapped HashMap and manual entry expiration logic.
2026-04-23 00:33:07 +07:00
Nils Andreas Svee 8c29d7b251 feat(pinger): Integrate in-flight probe cache into sender and listener 2026-04-23 00:16:19 +07:00
Nils Andreas Svee 6ae19b619a feat(pinger): Introduce InFlightProbeCache and update Ping traits 2026-04-23 00:16:19 +07:00
Nils Andreas Svee 3322e82b6c refactor: replace std::sync::mpsc with flume for improved channel performance
Migrate internal message passing to flume to leverage better performance and additional features like eventual fairness and selection.
2026-04-22 22:39:06 +07:00
Nils Andreas Svee 72fe0230ee style: Apply general code formatting and import reordering 2026-04-22 21:45:25 +07:00
Nils Andreas Svee bda1a44b6e feat(threads): Add graceful shutdown checks to worker loops 2026-04-14 02:03:53 +07:00
Nils Andreas Svee 57382465bf refactor(pinger): migrate to MetricsSender for metric dispatch 2026-04-13 18:57:50 +07:00
Nils Andreas Svee 530a715bdf fix(observability): refresh metric timestamps on each loop iteration
Move clock initialization inside processing loops to ensure exported metrics reflect the current time rather than a stale timestamp.
2026-04-13 16:32:30 +07:00
Nils Andreas Svee da3487e506 feat(observability): make metrics collection optional and granular
Wrap metrics senders in Option and conditionally initialize the monitoring thread to support granular configuration and reduced overhead.
2026-04-13 15:22:15 +07:00
Nils Andreas Svee 671e3f2671 refactor: standardize channel naming with tx and rx suffixes
Rename internal channel senders and receivers to follow standard Rust conventions for improved code consistency and readability.
2026-04-13 15:07:00 +07:00
Nils Andreas Svee 645ac08daa feat(observability): Export ping related metrics 2026-04-13 15:01:46 +07:00
Nils Andreas Svee 9c51853147 refactor: update imports to use icmp-socket2 2026-04-01 12:52:19 +07:00
Nils Andreas Svee c45351042e fix(pinger): Improve robustness of pinger operations 2026-02-22 17:04:56 +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 fa370b323b feat(pinger): Configurable tick interval 2026-02-22 12:13:14 +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 31598a812f fix: use specific SliceError for etherparse 2025-05-08 23:49:14 +07:00
Nils Andreas Svee 7a589ffdf7 sleep for shorter intervals between each ping 2023-03-01 20:13:46 +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 e9fb811a58 pinger: remove allow dead code 2022-10-29 22:36:05 +02:00
Nils Andreas Svee cacc5b1a6b Apply Clippy recommendations 2022-10-15 14:58:05 +02:00
Nils Andreas Svee c1286b0ba9 Add clock wrapper class 2022-10-15 13:44:30 +02:00
Nils Andreas Svee 6119408e1f Attempt changing to socket2 2022-10-13 18:03:56 +02:00
Nils Andreas Svee 9a1901b213 Improve pinger error handling 2022-10-13 17:16:01 +02:00
Nils Andreas Svee 890b3f8c19 Drop pub(crate) and use pub everywhere for now 2022-10-04 16:25:42 +02:00
Nils Andreas Svee 214ffef6f3 Use proper error handling instead of lurking panics everywhere 2022-10-04 16:20:24 +02:00
Nils Andreas Svee 0cbde6d1ea Clean up socket creation a bit 2022-09-29 00:24:31 +02:00
Nils Andreas Svee a3ee2b5c08 Enable ping log to stdout on debug 2022-09-28 23:19:27 +02:00
Nils Andreas Svee cf14fcd5f8 Some cleanups 2022-09-28 01:41:51 +02:00
Nils Andreas Svee f20ff59e78 Allow selection of measurement type in config 2022-09-28 01:29:43 +02:00
Nils Andreas Svee 9219ac690a Use a RwLock instead of a Mutex for the peers 2022-09-28 00:43:48 +02:00
Nils Andreas Svee e3b7b7e9ba Implement missing features, some cleanup 2022-09-28 00:25:35 +02:00
Nils Andreas Svee b147006a69 partly working implementation 2022-09-17 14:39:27 +02:00
Nils Andreas Svee 27aa972fe6 current state 2022-09-04 16:40:38 +02:00
Nils Andreas Svee 4f1f89588c work 2022-09-04 01:03:31 +02:00
Nils Andreas Svee 2644b17818 Initial commit 2022-08-27 16:27:15 +02:00