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};
|
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() {
|
void client_terminate() {
|
||||||
keep_alive = 0;
|
keep_alive = 0;
|
||||||
// TODO prevent processing of further requests in connection
|
// TODO prevent processing of further requests in connection
|
||||||
|
17
src/utils.c
17
src/utils.c
@ -6,3 +6,20 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "utils.h"
|
#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__), \
|
#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__))
|
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
|
#endif //NECRONDA_SERVER_UTILS_H
|
||||||
|
Reference in New Issue
Block a user