30 lines
629 B
C
30 lines
629 B
C
#ifndef PING_TRACKER_H
|
|
#define PING_TRACKER_H
|
|
|
|
#include <stdint.h>
|
|
#include <stddef.h>
|
|
#include <time.h>
|
|
|
|
#include "internal/ping/tracker_flags.h"
|
|
|
|
#define PING_TRACKER_SLOTS 128
|
|
|
|
struct ping_tracker_slot {
|
|
struct timespec ts;
|
|
uint8_t flags;
|
|
};
|
|
|
|
struct ping_tracker {
|
|
struct ping_tracker_slot slots[PING_TRACKER_SLOTS];
|
|
size_t nb_sent;
|
|
size_t nb_recv;
|
|
};
|
|
|
|
void ping_tracker_init(struct ping_tracker *t);
|
|
void ping_tracker_record_send(struct ping_tracker *t, uint16_t seq, const
|
|
struct timespec *ts);
|
|
int64_t ping_tracker_record_recv(struct ping_tracker *t, uint16_t seq,
|
|
const struct timespec *ts);
|
|
|
|
|
|
#endif
|