Refactored format_duration
This commit is contained in:
16
src/client.c
16
src/client.c
@ -20,22 +20,6 @@ char *client_addr_str, *client_addr_str_ptr, *server_addr_str, *server_addr_str_
|
||||
|
||||
struct timeval timeout = {.tv_sec = CLIENT_TIMEOUT, .tv_usec = 0};
|
||||
|
||||
|
||||
char *format_duration(unsigned long micros, char *buf) {
|
||||
if (micros < 10000) {
|
||||
sprintf(buf, "%.1f ms", (double) micros / 1000.0);
|
||||
} else if (micros < 1000000) {
|
||||
sprintf(buf, "%li ms", micros / 1000);
|
||||
} else if (micros < 100000000) {
|
||||
sprintf(buf, "%.2f s", (double) micros / 1000000.0);
|
||||
} else if (micros < 1000000000) {
|
||||
sprintf(buf, "%.1f s", (double) micros / 1000000.0);
|
||||
} else {
|
||||
sprintf(buf, "%li s", micros / 1000000);
|
||||
}
|
||||
return buf;
|
||||
}
|
||||
|
||||
void client_terminate() {
|
||||
keep_alive = 0;
|
||||
// TODO prevent processing of further requests in connection
|
||||
|
17
src/utils.c
17
src/utils.c
@ -6,3 +6,20 @@
|
||||
*/
|
||||
|
||||
#include "utils.h"
|
||||
|
||||
char *format_duration(unsigned long micros, char *buf) {
|
||||
if (micros < 10000) {
|
||||
sprintf(buf, "%.1f ms", (double) micros / 1000);
|
||||
} else if (micros < 1000000) {
|
||||
sprintf(buf, "%li ms", micros / 1000);
|
||||
} else if (micros < 10000000) {
|
||||
sprintf(buf, "%.1f s", (double) micros / 1000000);
|
||||
} else if (micros < 100000000) {
|
||||
sprintf(buf, "%li s", micros / 1000000);
|
||||
} else if (micros < 6000000000) {
|
||||
sprintf(buf, "%.1f min", (double) micros / 1000000 / 60);
|
||||
} else {
|
||||
sprintf(buf, "%li min", micros / 1000000 / 60);
|
||||
}
|
||||
return buf;
|
||||
}
|
||||
|
@ -18,4 +18,7 @@ char *log_prefix;
|
||||
#define print(...) out_x(, ##__VA_ARGS__, out_2(__VA_ARGS__), out_2(__VA_ARGS__), out_2(__VA_ARGS__), \
|
||||
out_2(__VA_ARGS__), out_2(__VA_ARGS__), out_2(__VA_ARGS__), out_1(__VA_ARGS__))
|
||||
|
||||
|
||||
char *format_duration(unsigned long micros, char *buf);
|
||||
|
||||
#endif //NECRONDA_SERVER_UTILS_H
|
||||
|
Reference in New Issue
Block a user