#ifndef PING_STATS_H #define PING_STATS_H #include #include typedef struct s_ping_stats { int64_t min_ns; int64_t max_ns; int64_t sum_ns; int64_t sum_sq_ns; /* sum of (rtt_ns / 1000)^2 in us^2, to avoid overflow */ size_t count; } t_ping_stats; void ping_stats_init(t_ping_stats *s); void ping_stats_update(t_ping_stats *s, int64_t rtt_ns); void ping_stats_get(const t_ping_stats *s, double *min_ms, double *max_ms, double *avg_ms, double *mdev_ms); #endif