X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=VNFs%2FDPPD-PROX%2Finput_conn.c;h=13d6110ebf80636de0384244bb3968c6a60e6933;hb=3c5243ba737d516528a5a34aaa93294bdf9dce07;hp=63e6511eaabc650c84dd565fb5d6353701c62085;hpb=a0eb3c45ca8a89220caaefa43665a7a1eb6c1933;p=samplevnf.git diff --git a/VNFs/DPPD-PROX/input_conn.c b/VNFs/DPPD-PROX/input_conn.c index 63e6511e..13d6110e 100644 --- a/VNFs/DPPD-PROX/input_conn.c +++ b/VNFs/DPPD-PROX/input_conn.c @@ -20,10 +20,13 @@ #include #include +#include #include "input_conn.h" #include "input.h" +#include "log.h" #include "run.h" #include "cmd_parser.h" +#include "prox_cfg.h" static struct input tcp_server; int tcp_server_started; @@ -132,6 +135,8 @@ static void handle_client(struct input* client_input) return ; } + prox_cfg.heartbeat_tsc = rte_rdtsc() + prox_cfg.heartbeat_timeout * rte_get_tsc_hz(); + /* Scan in data until \n (\r skipped if followed by \n) */ for (int i = 0; i < ret; ++i) { if (cur[i] == '\r' && i + 1 < ret && cur[i + 1] == '\n') @@ -150,6 +155,18 @@ static void handle_client(struct input* client_input) } } +void stop_handling_client(void) +{ + size_t i; + for (i = 0; i < sizeof(clients)/sizeof(clients[0]); ++i) { + if (clients[i].enabled) { + close(clients[i].input.fd); + clients[i].enabled = 0; + unreg_input(&clients[i].input); + } + } +} + static void handle_new_client(struct input* server) { size_t i;