add function sf_client_sock_in_read_stage

connection_manager
yuqing 2018-07-30 10:56:48 +08:00
parent a112039aa4
commit 1928ae42cc
2 changed files with 14 additions and 9 deletions

View File

@ -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;

View File

@ -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