From 1928ae42cc95d85df8c95cacf7d268dfae2bca74 Mon Sep 17 00:00:00 2001 From: yuqing Date: Mon, 30 Jul 2018 10:56:48 +0800 Subject: [PATCH] add function sf_client_sock_in_read_stage --- src/sf_nio.c | 17 ++++++++--------- src/sf_nio.h | 6 ++++++ 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/sf_nio.c b/src/sf_nio.c index 07ba482..6a96b37 100644 --- a/src/sf_nio.c +++ b/src/sf_nio.c @@ -32,8 +32,6 @@ static sf_set_body_length_callback sf_set_body_length = NULL; static TaskCleanUpCallback sf_task_cleanup_func = sf_task_finish_clean_up; static sf_recv_timeout_callback sf_timeout_callback = NULL; -static int client_sock_read(int sock, short event, void *arg); - void sf_set_parameters(const int header_size, sf_set_body_length_callback set_body_length_func, sf_deal_task_func deal_func, TaskCleanUpCallback cleanup_func, @@ -113,15 +111,16 @@ void sf_recv_notify_read(int sock, short event, void *arg) break; } - current_connections = __sync_add_and_fetch(&g_sf_global_vars.connection_stat. - current_count, 1); + current_connections = __sync_add_and_fetch( + &g_sf_global_vars.connection_stat.current_count, 1); if (current_connections > g_sf_global_vars.connection_stat.max_count) { g_sf_global_vars.connection_stat.max_count = current_connections; } pTask = (struct fast_task_info *)task_ptr; - if (ioevent_set(pTask, pTask->thread_data, pTask->event.fd, IOEVENT_READ, - (IOEventCallback)client_sock_read, g_sf_global_vars.network_timeout) != 0) + if (ioevent_set(pTask, pTask->thread_data, pTask->event.fd, + IOEVENT_READ, (IOEventCallback)sf_client_sock_read, + g_sf_global_vars.network_timeout) != 0) { sf_task_cleanup_func(pTask); continue; @@ -157,11 +156,11 @@ static inline int set_read_event(struct fast_task_info *pTask) { int result; - if (pTask->event.callback == (IOEventCallback)client_sock_read) { + if (pTask->event.callback == (IOEventCallback)sf_client_sock_read) { return 0; } - pTask->event.callback = (IOEventCallback)client_sock_read; + pTask->event.callback = (IOEventCallback)sf_client_sock_read; if (ioevent_modify(&pTask->thread_data->ev_puller, pTask->event.fd, IOEVENT_READ, pTask) != 0) { @@ -191,7 +190,7 @@ int sf_send_add_event(struct fast_task_info *pTask) return 0; } -static int client_sock_read(int sock, short event, void *arg) +int sf_client_sock_read(int sock, short event, void *arg) { int bytes; int recv_bytes; diff --git a/src/sf_nio.h b/src/sf_nio.h index 0c062fd..45e2cef 100644 --- a/src/sf_nio.h +++ b/src/sf_nio.h @@ -23,9 +23,15 @@ TaskCleanUpCallback sf_get_task_cleanup_func(); void sf_recv_notify_read(int sock, short event, void *arg); int sf_send_add_event(struct fast_task_info *pTask); int sf_client_sock_write(int sock, short event, void *arg); +int sf_client_sock_read(int sock, short event, void *arg); void sf_task_finish_clean_up(struct fast_task_info *pTask); +static inline bool sf_client_sock_in_read_stage(struct fast_task_info *pTask) +{ + return (pTask->event.callback == (IOEventCallback)sf_client_sock_read); +} + #ifdef __cplusplus } #endif