refactor: do_send
This commit is contained in:
parent
f9b84f709c
commit
3136b10395
4 changed files with 17 additions and 26 deletions
|
|
@ -4,6 +4,6 @@
|
|||
#include <stddef.h>
|
||||
#include "internal/ping/ping_state.h"
|
||||
|
||||
int ping_send_one(struct ping_state *state, size_t payload_len);
|
||||
void do_send(struct ping_state *state, size_t payload_len);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
#include "ping/ft_ping_flags.h"
|
||||
#include "internal/ping/send.h"
|
||||
#include "internal/ping/callback.h"
|
||||
#include "internal/ping/output.h"
|
||||
#include "internal/ping/scheduler.h"
|
||||
|
||||
/* Forward declarations */
|
||||
|
|
@ -11,7 +10,6 @@ static int deadline_expired(const struct ping_state *state);
|
|||
static int linger_expired(const struct ping_state *state);
|
||||
static int should_stop(const struct ping_state *state);
|
||||
static int can_send_more(const struct ping_state *state);
|
||||
static void do_send(struct ping_state *state, size_t payload_len);
|
||||
static void try_recv(struct ping_state *state);
|
||||
static void handle_send_trigger(struct ping_state *state, size_t payload_len);
|
||||
/* -------------------- */
|
||||
|
|
@ -82,16 +80,6 @@ can_send_more(const struct ping_state *state)
|
|||
return 0 == count || state->tracker->nb_sent < count;
|
||||
}
|
||||
|
||||
static void
|
||||
do_send(struct ping_state *state, size_t payload_len)
|
||||
{
|
||||
state->send_flag = 0;
|
||||
ping_send_one(state, payload_len);
|
||||
if (HAS_FLAG(state->config->flags, FLAG_FLOOD))
|
||||
ping_output_flood_dot();
|
||||
ping_scheduler_arm(state->config);
|
||||
}
|
||||
|
||||
static void
|
||||
try_recv(struct ping_state *state)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ static int ping_one(const struct ping_config *config,
|
|||
static void ping_init_state(struct ping_state *state, struct ping_stats *stats,
|
||||
struct ping_tracker *tracker, const struct ping_config *config,
|
||||
struct in_addr dest, icmp_handle_t *handle);
|
||||
static void ping_first_send(struct ping_state *state, size_t payload_len);
|
||||
/* -------------------- */
|
||||
|
||||
int
|
||||
|
|
@ -64,7 +63,7 @@ ping_one(const struct ping_config *config, struct destinations *dest,
|
|||
payload_len = config->packet_size;
|
||||
ping_scheduler_init(&state);
|
||||
ping_output_start(config, dest, payload_len);
|
||||
ping_first_send(&state, payload_len);
|
||||
do_send(&state, payload_len);
|
||||
ping_loop(&state, payload_len);
|
||||
ping_output_summary(&state, dest);
|
||||
return tracker.nb_recv <= state.nb_errors;
|
||||
|
|
@ -86,12 +85,3 @@ ping_init_state(struct ping_state *state, struct ping_stats *stats,
|
|||
state->handle = handle;
|
||||
icmp_get_time(&state->start_time);
|
||||
}
|
||||
|
||||
static void
|
||||
ping_first_send(struct ping_state *state, size_t payload_len)
|
||||
{
|
||||
ping_send_one(state, payload_len);
|
||||
if (HAS_FLAG(state->config->flags, FLAG_FLOOD))
|
||||
ping_output_flood_dot();
|
||||
ping_scheduler_arm(state->config);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,13 +1,26 @@
|
|||
#include <stddef.h>
|
||||
|
||||
#include "internal/ping/output.h"
|
||||
#include "internal/ping/scheduler.h"
|
||||
#include "ping/ft_ping_const.h"
|
||||
#include "internal/ping/send.h"
|
||||
#include "ping/ft_ping_flags.h"
|
||||
|
||||
/* Forward declarations */
|
||||
static inline void fill_payload(uint8_t *payload, size_t payload_len);
|
||||
static int ping_send_one(struct ping_state *state, size_t payload_len);
|
||||
/* -------------------- */
|
||||
|
||||
int
|
||||
void
|
||||
do_send(struct ping_state *state, size_t payload_len)
|
||||
{
|
||||
state->send_flag = 0;
|
||||
ping_send_one(state, payload_len);
|
||||
if (HAS_FLAG(state->config->flags, FLAG_FLOOD))
|
||||
ping_output_flood_dot();
|
||||
ping_scheduler_arm(state->config);
|
||||
}
|
||||
|
||||
static int
|
||||
ping_send_one(struct ping_state *state, size_t payload_len)
|
||||
{
|
||||
struct timespec ts;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue