From 79bc8b74242f37fa84a7cf672f88038927eb151c Mon Sep 17 00:00:00 2001 From: lohhiiccc <96543753+lohhiiccc@users.noreply.github.com> Date: Mon, 16 Mar 2026 08:23:26 -0500 Subject: [PATCH] refacor(stats): split stat module into more files --- sources/ping.mk | 5 ++++- src/ping/stats/{stats.c => stats_get.c} | 25 ------------------------- src/ping/stats/stats_init.c | 12 ++++++++++++ src/ping/stats/stats_update.c | 17 +++++++++++++++++ 4 files changed, 33 insertions(+), 26 deletions(-) rename src/ping/stats/{stats.c => stats_get.c} (67%) create mode 100644 src/ping/stats/stats_init.c create mode 100644 src/ping/stats/stats_update.c diff --git a/sources/ping.mk b/sources/ping.mk index 9bfcec8..ff15633 100644 --- a/sources/ping.mk +++ b/sources/ping.mk @@ -28,7 +28,6 @@ PING_SRCS = $(CLI_SRCS) \ $(PING_SRC_DIR)/core/loop.c \ $(PING_SRC_DIR)/core/send.c \ $(PING_SRC_DIR)/core/callback.c \ - $(PING_SRC_DIR)/stats/stats.c \ $(PING_SRC_DIR)/tracker/init.c \ $(PING_SRC_DIR)/tracker/record_send.c \ $(PING_SRC_DIR)/tracker/record_recv.c \ @@ -38,6 +37,10 @@ PING_SRCS = $(CLI_SRCS) \ $(PING_SRC_DIR)/output/summary.c \ $(PING_SRC_DIR)/output/flood.c \ $(PING_SRC_DIR)/scheduler/scheduler.c \ + $(PING_SRC_DIR)/stats/stats_get.c \ + $(PING_SRC_DIR)/stats/stats_init.c \ + $(PING_SRC_DIR)/stats/stats_update.c \ + PING_TESTS_DIR = tests PING_TESTS = $(PING_TESTS_DIR)/test_main.c \ diff --git a/src/ping/stats/stats.c b/src/ping/stats/stats_get.c similarity index 67% rename from src/ping/stats/stats.c rename to src/ping/stats/stats_get.c index 0da744c..de9f4ce 100644 --- a/src/ping/stats/stats.c +++ b/src/ping/stats/stats_get.c @@ -7,31 +7,6 @@ static double compute_mdev_ms(const struct ping_stats *s, double avg_ms); /* -------------------- */ -void -ping_stats_init(struct ping_stats *s) -{ - s->min_ns = INT64_MAX; - s->max_ns = INT64_MIN; - s->sum_ns = 0; - s->sum_sq_ns = 0; - s->count = 0; -} - -void -ping_stats_update(struct ping_stats *s, int64_t rtt_ns) -{ - int64_t rtt_us; - - if (rtt_ns < s->min_ns) - s->min_ns = rtt_ns; - if (rtt_ns > s->max_ns) - s->max_ns = rtt_ns; - s->sum_ns += rtt_ns; - rtt_us = rtt_ns / 1000; - s->sum_sq_ns += rtt_us * rtt_us; - s->count++; -} - void ping_stats_get(const struct ping_stats *s, double *min_ms, double *max_ms, double *avg_ms, double *mdev_ms) diff --git a/src/ping/stats/stats_init.c b/src/ping/stats/stats_init.c new file mode 100644 index 0000000..badc44d --- /dev/null +++ b/src/ping/stats/stats_init.c @@ -0,0 +1,12 @@ +#include "internal/ping/stats.h" + +void +ping_stats_init(struct ping_stats *s) +{ + s->min_ns = INT64_MAX; + s->max_ns = INT64_MIN; + s->sum_ns = 0; + s->sum_sq_ns = 0; + s->count = 0; +} + diff --git a/src/ping/stats/stats_update.c b/src/ping/stats/stats_update.c new file mode 100644 index 0000000..614322b --- /dev/null +++ b/src/ping/stats/stats_update.c @@ -0,0 +1,17 @@ +#include "internal/ping/stats.h" + +void +ping_stats_update(struct ping_stats *s, int64_t rtt_ns) +{ + int64_t rtt_us; + + if (rtt_ns < s->min_ns) + s->min_ns = rtt_ns; + if (rtt_ns > s->max_ns) + s->max_ns = rtt_ns; + s->sum_ns += rtt_ns; + rtt_us = rtt_ns / 1000; + s->sum_sq_ns += rtt_us * rtt_us; + s->count++; +} +