WIP: try again request

This commit is contained in:
lohhiiccc 2026-04-22 13:54:19 +02:00
parent 97417ade90
commit 651c879892
3 changed files with 7 additions and 4 deletions

2
libcli

@ -1 +1 @@
Subproject commit efbae5b7d612ddbb066eb0ba9b1569cd8bf26330 Subproject commit ae7fdf2f94a7c3c759d449ee1c4d3439473c6e42

@ -1 +1 @@
Subproject commit f2edfed48bdb8c709f01252215ccc79491b62314 Subproject commit a9bdaf33f22b60b8643871b2522721cd041ac885

View file

@ -39,18 +39,21 @@ ping_send_one(struct ping_state *state, size_t payload_len)
struct timespec ts; struct timespec ts;
uint8_t payload[MAX_PACKET_SIZE]; uint8_t payload[MAX_PACKET_SIZE];
uint16_t seq; uint16_t seq;
int ret;
fill_payload(payload, payload_len); fill_payload(payload, payload_len);
if (0 != icmp_get_time(&ts)) if (0 != icmp_get_time(&ts))
return -1; return -1;
seq = state->seq++; seq = state->seq++;
if (0 != icmp_send_echo(state->handle, ret = icmp_send_echo(state->handle,
state->dest, state->dest,
state->id, state->id,
seq, seq,
state->config->ttl, state->config->ttl,
payload, payload_len)) payload, payload_len);
if (0 != ret)
return -1; return -1;
// TODO: consider adding try again (1 == ret && icmp_should_retry)
ping_tracker_record_send(state->tracker, seq, &ts); ping_tracker_record_send(state->tracker, seq, &ts);
return 0; return 0;
} }