Move non-timer routines from timer.[hc] to iperf_util.[hc]
This commit is contained in:
parent
d6e2781d18
commit
9673370f98
@ -22,6 +22,7 @@
|
||||
|
||||
#include "iperf.h"
|
||||
#include "iperf_api.h"
|
||||
#include "iperf_util.h"
|
||||
#include "iperf_udp.h"
|
||||
#include "timer.h"
|
||||
#include "net.h"
|
||||
|
@ -82,3 +82,98 @@ is_closed(int fd)
|
||||
}
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
||||
double
|
||||
timeval_to_double(struct timeval * tv)
|
||||
{
|
||||
double d;
|
||||
|
||||
d = tv->tv_sec + tv->tv_usec / 1000000;
|
||||
|
||||
return d;
|
||||
}
|
||||
|
||||
int
|
||||
timeval_equals(struct timeval * tv0, struct timeval * tv1)
|
||||
{
|
||||
if ( tv0->tv_sec == tv1->tv_sec && tv0->tv_usec == tv1->tv_usec )
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
double
|
||||
timeval_diff(struct timeval * tv0, struct timeval * tv1)
|
||||
{
|
||||
double time1, time2;
|
||||
|
||||
time1 = tv0->tv_sec + (tv0->tv_usec / 1000000.0);
|
||||
time2 = tv1->tv_sec + (tv1->tv_usec / 1000000.0);
|
||||
|
||||
time1 = time1 - time2;
|
||||
if (time1 < 0)
|
||||
time1 = -time1;
|
||||
return (time1);
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
delay(int64_t ns)
|
||||
{
|
||||
struct timespec req, rem;
|
||||
|
||||
req.tv_sec = 0;
|
||||
|
||||
while (ns >= 1000000000L) {
|
||||
ns -= 1000000000L;
|
||||
req.tv_sec += 1;
|
||||
}
|
||||
|
||||
req.tv_nsec = ns;
|
||||
|
||||
while (nanosleep(&req, &rem) == -1)
|
||||
if (EINTR == errno)
|
||||
memcpy(&req, &rem, sizeof rem);
|
||||
else
|
||||
return -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
# ifdef DELAY_SELECT_METHOD
|
||||
int
|
||||
delay(int us)
|
||||
{
|
||||
struct timeval tv;
|
||||
|
||||
tv.tv_sec = 0;
|
||||
tv.tv_usec = us;
|
||||
(void) select(1, (fd_set *) 0, (fd_set *) 0, (fd_set *) 0, &tv);
|
||||
return (1);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
void
|
||||
cpu_util(double *pcpu)
|
||||
{
|
||||
static struct timeval last;
|
||||
static clock_t clast;
|
||||
struct timeval temp;
|
||||
clock_t ctemp;
|
||||
double timediff;
|
||||
|
||||
if (pcpu == NULL) {
|
||||
gettimeofday(&last, NULL);
|
||||
clast = clock();
|
||||
return;
|
||||
}
|
||||
|
||||
gettimeofday(&temp, NULL);
|
||||
ctemp = clock();
|
||||
|
||||
timediff = ((temp.tv_sec * 1000000.0 + temp.tv_usec) -
|
||||
(last.tv_sec * 1000000.0 + last.tv_usec));
|
||||
|
||||
*pcpu = ((ctemp - clast) / timediff) * 100;
|
||||
}
|
||||
|
@ -14,4 +14,14 @@ void make_cookie(char *);
|
||||
|
||||
int is_closed(int);
|
||||
|
||||
double timeval_to_double(struct timeval *tv);
|
||||
|
||||
int timeval_equals(struct timeval *tv0, struct timeval *tv1);
|
||||
|
||||
double timeval_diff(struct timeval *tv0, struct timeval *tv1);
|
||||
|
||||
int delay(int64_t ns);
|
||||
|
||||
void cpu_util(double *);
|
||||
|
||||
#endif
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include <string.h>
|
||||
#include <sys/fcntl.h>
|
||||
|
||||
#include "iperf_util.h"
|
||||
#include "net.h"
|
||||
#include "timer.h"
|
||||
|
||||
|
91
src/timer.c
91
src/timer.c
@ -20,38 +20,6 @@
|
||||
#include "timer.h"
|
||||
#include "iperf_api.h"
|
||||
|
||||
double
|
||||
timeval_to_double(struct timeval * tv)
|
||||
{
|
||||
double d;
|
||||
|
||||
d = tv->tv_sec + tv->tv_usec / 1000000;
|
||||
|
||||
return d;
|
||||
}
|
||||
|
||||
int
|
||||
timeval_equals(struct timeval * tv0, struct timeval * tv1)
|
||||
{
|
||||
if ( tv0->tv_sec == tv1->tv_sec && tv0->tv_usec == tv1->tv_usec )
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
double
|
||||
timeval_diff(struct timeval * tv0, struct timeval * tv1)
|
||||
{
|
||||
double time1, time2;
|
||||
|
||||
time1 = tv0->tv_sec + (tv0->tv_usec / 1000000.0);
|
||||
time2 = tv1->tv_sec + (tv1->tv_usec / 1000000.0);
|
||||
|
||||
time1 = time1 - time2;
|
||||
if (time1 < 0)
|
||||
time1 = -time1;
|
||||
return (time1);
|
||||
}
|
||||
|
||||
int
|
||||
timer_expired(struct timer * tp)
|
||||
@ -117,40 +85,6 @@ free_timer(struct timer * tp)
|
||||
free(tp);
|
||||
}
|
||||
|
||||
int
|
||||
delay(int64_t ns)
|
||||
{
|
||||
struct timespec req, rem;
|
||||
|
||||
req.tv_sec = 0;
|
||||
|
||||
while (ns >= 1000000000L) {
|
||||
ns -= 1000000000L;
|
||||
req.tv_sec += 1;
|
||||
}
|
||||
|
||||
req.tv_nsec = ns;
|
||||
|
||||
while (nanosleep(&req, &rem) == -1)
|
||||
if (EINTR == errno)
|
||||
memcpy(&req, &rem, sizeof rem);
|
||||
else
|
||||
return -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
# ifdef DELAY_SELECT_METHOD
|
||||
int
|
||||
delay(int us)
|
||||
{
|
||||
struct timeval tv;
|
||||
|
||||
tv.tv_sec = 0;
|
||||
tv.tv_usec = us;
|
||||
(void) select(1, (fd_set *) 0, (fd_set *) 0, (fd_set *) 0, &tv);
|
||||
return (1);
|
||||
}
|
||||
#endif
|
||||
|
||||
int64_t
|
||||
timer_remaining(struct timer * tp)
|
||||
@ -172,28 +106,3 @@ timer_remaining(struct timer * tp)
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
cpu_util(double *pcpu)
|
||||
{
|
||||
static struct timeval last;
|
||||
static clock_t clast;
|
||||
struct timeval temp;
|
||||
clock_t ctemp;
|
||||
double timediff;
|
||||
|
||||
if (pcpu == NULL) {
|
||||
gettimeofday(&last, NULL);
|
||||
clast = clock();
|
||||
return;
|
||||
}
|
||||
|
||||
gettimeofday(&temp, NULL);
|
||||
ctemp = clock();
|
||||
|
||||
timediff = ((temp.tv_sec * 1000000.0 + temp.tv_usec) -
|
||||
(last.tv_sec * 1000000.0 + last.tv_usec));
|
||||
|
||||
*pcpu = ((ctemp - clast) / timediff) * 100;
|
||||
}
|
||||
|
||||
|
10
src/timer.h
10
src/timer.h
@ -21,14 +21,6 @@ struct timer {
|
||||
|
||||
struct timer *new_timer(time_t sec, suseconds_t usec);
|
||||
|
||||
int delay(int64_t ns);
|
||||
|
||||
double timeval_to_double(struct timeval *tv);
|
||||
|
||||
int timeval_equals(struct timeval *tv0, struct timeval *tv1);
|
||||
|
||||
double timeval_diff(struct timeval *tv0, struct timeval *tv1);
|
||||
|
||||
int update_timer(struct timer *tp, time_t sec, suseconds_t usec);
|
||||
|
||||
int64_t timer_remaining(struct timer *tp);
|
||||
@ -37,6 +29,4 @@ void free_timer(struct timer *tp);
|
||||
|
||||
int timer_expired(struct timer *);
|
||||
|
||||
void cpu_util(double *);
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user