add: preload

This commit is contained in:
2025-11-19 09:12:20 -06:00
parent bd66c1c27e
commit 3a3b4279ad
2 changed files with 16 additions and 2 deletions

View File

@ -77,6 +77,7 @@ static int get_setting(char * const *av, struct setting *setting)
{NULL, "n", OPTION, false},
{"ttl", NULL, ARGUMENT, "116"},
{NULL, "s", ARGUMENT, "56"},
{NULL, "p", ARGUMENT, "0"},
{NULL, NULL, 0, NULL},
};
char *hostname = parsing(av, parameters);
@ -90,9 +91,11 @@ static int get_setting(char * const *av, struct setting *setting)
size_t ttl;
if (parsing_number(parameters[3].value, 0, 255, &ttl))
return 2;
setting->ttl = ttl;
if (parsing_number(parameters[4].value, 0, 2147483647, &setting->payload_size))
return 3;
setting->ttl = ttl;
if (parsing_number(parameters[5].value, 0, 2147483647, &setting->preload))
return 4;
return 0;
}
@ -180,6 +183,17 @@ int main(int ac, char **av)
bzero(&stats, sizeof(struct statistics));
print_header(&settings);
for (size_t i = 0; i < settings.payload_size; i++)
{
if (sendto(sockfd, packet, packet_size, 0, (struct sockaddr *) &settings.dest.ip, sizeof(settings.dest.ip)) == -1)
{
print_err("error: send packet failed.");
free(packet);
close(sockfd);
return 2;
}
}
while (loop) {
struct timeval stop, start;
@ -198,7 +212,6 @@ int main(int ac, char **av)
int ret = 0;
do
{
buffer[0] = 0;
ret = recvfrom(sockfd, buffer, packet_size, 0, (struct sockaddr *) &sender, &len) < 0;
if (ret == -1)
{

View File

@ -16,4 +16,5 @@ struct setting
uint8_t ttl;
size_t payload_size;
struct hostenv dest;
size_t preload;
};