From fb46b33447c87c0dc4943436cf26657ca6b12c25 Mon Sep 17 00:00:00 2001 From: lishu Date: Tue, 2 Apr 2019 09:32:33 +0800 Subject: KEEPLIVE --- src/hard_keepalive.c | 24 +++++++++++++----------- src/log.c | 41 ++++++++++++++++++++++++++++++++++++++++- src/log.h | 1 + 3 files changed, 54 insertions(+), 12 deletions(-) diff --git a/src/hard_keepalive.c b/src/hard_keepalive.c index e25fbea..39c81a8 100644 --- a/src/hard_keepalive.c +++ b/src/hard_keepalive.c @@ -19,6 +19,7 @@ #include "hard_keepalive.h" #include "main.h" +#include "MESA_handle_logger.h" extern frag_rssb_parameter_t g_frag_run; extern frag_rssb_configure_t g_frag_cfg; @@ -134,17 +135,18 @@ void* thread_hard_keepalive(void *param) memcpy(discriminator_temp, buf+MY_ID_OFFSET, ID_SIZE); memcpy(buf+MY_ID_OFFSET, buf+YOUR_ID_OFFSET, ID_SIZE); memcpy(buf+YOUR_ID_OFFSET, discriminator_temp, ID_SIZE); - /*发送队列state状态*/ - int state = 0; - for(int i=0;iflags,8); - setbit(((bfd_header_t*)buf )->flags,7); + /*STATE_DOWN 2bit: 0 1*/ + clrbit(((bfd_header_t*)buf)->flags,7); + setbit(((bfd_header_t*)buf)->flags,6); printf("wait_queue is overflow, app is down.\n"); MESA_handle_runtime_log(g_frag_run.logger, RLOG_LV_FATAL, FRAG_REASSEMBLY_MODULE_NAME, "{%s:%d} wait_queue is overflow, app is down.", @@ -152,9 +154,9 @@ void* thread_hard_keepalive(void *param) } else { - /*STATE_UP 2bit: 1 1*/ - setbit(((bfd_header_t*)buf )->flags,8); - setbit(((bfd_header_t*)buf )->flags,7); + /*STATE_UP 2bit: 1 1*/ + setbit(((bfd_header_t*)buf)->flags,7); + setbit(((bfd_header_t*)buf)->flags,6); } send_rec = udp_socket_send(recv_pkt_sd, src_ip, diff --git a/src/log.c b/src/log.c index c0997f9..c597468 100644 --- a/src/log.c +++ b/src/log.c @@ -25,6 +25,9 @@ #include "frag_reassembly_in.h" #include "log.h" #include "main.h" +#include "MESA_handle_logger.h" +#include "hard_keepalive.h" + extern frag_rssb_parameter_t g_frag_run; extern frag_rssb_configure_t g_frag_cfg; @@ -381,7 +384,43 @@ void get_rssb_queuelog_count() setbit(g_frag_cfg.bfd_down_stat,g_frag_cfg.bfd_down_index); } g_frag_cfg.bfd_down_index++; - g_frag_cfg.bfd_down_index = g_frag_cfg.bfd_down_index%g_frag_cfg.bfd_down_num; + g_frag_cfg.bfd_down_index = g_frag_cfg.bfd_down_index%g_frag_cfg.bfd_down_num; + + /* + uint64_t state = getbit(g_frag_cfg.bfd_down_stat,0); + for(uint64_t i=1;iflags,7); + setbit(((bfd_header_t*)buf)->flags,6); + if(state) + { + clrbit(((bfd_header_t*)buf)->flags,7); + setbit(((bfd_header_t*)buf)->flags,6); + printf("wait_queue is overflow, app is down.\n"); + MESA_handle_runtime_log(g_frag_run.logger, RLOG_LV_FATAL, FRAG_REASSEMBLY_MODULE_NAME, + "{%s:%d} wait_queue is overflow, app is down.", + __FILE__,__LINE__); + } + else + { + + setbit(((bfd_header_t*)buf)->flags,7); + setbit(((bfd_header_t*)buf)->flags,6); + } + */ } void get_rssb_hashlog_count() diff --git a/src/log.h b/src/log.h index 7bf62e0..a436174 100644 --- a/src/log.h +++ b/src/log.h @@ -23,6 +23,7 @@ typedef long atomic_t; #define setbit(x,y) x|=(1<> (y)&1) /*********************************************debug log type***********************************/ typedef enum -- cgit v1.2.3