diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2015-05-26 14:00:03 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2015-05-26 14:00:03 +0100 |
commit | f1e2f1acd45ffc6ae8f79bbba23d4734e588898f (patch) | |
tree | ecbecaa5f103192933407a24d3668a39a0744545 /src/libserver | |
parent | 537492c40116a8f38c209f7b36dacd0562504b44 (diff) | |
download | rspamd-f1e2f1acd45ffc6ae8f79bbba23d4734e588898f.tar.gz rspamd-f1e2f1acd45ffc6ae8f79bbba23d4734e588898f.zip |
Refactor events API.
Diffstat (limited to 'src/libserver')
-rw-r--r-- | src/libserver/dns.c | 4 | ||||
-rw-r--r-- | src/libserver/events.c | 18 | ||||
-rw-r--r-- | src/libserver/events.h | 10 | ||||
-rw-r--r-- | src/libserver/task.c | 2 |
4 files changed, 17 insertions, 17 deletions
diff --git a/src/libserver/dns.c b/src/libserver/dns.c index 3e97160af..c92cf1990 100644 --- a/src/libserver/dns.c +++ b/src/libserver/dns.c @@ -62,7 +62,7 @@ rspamd_dns_callback (struct rdns_reply *reply, gpointer ud) * event removing */ rdns_request_retain (reply->request); - remove_normal_event (reqdata->session, rspamd_dns_fin_cb, reqdata); + rspamd_session_remove_event (reqdata->session, rspamd_dns_fin_cb, reqdata); } else if (reqdata->pool == NULL) { g_slice_free1 (sizeof (struct rspamd_dns_request_ud), reqdata); @@ -100,7 +100,7 @@ make_dns_request (struct rspamd_dns_resolver *resolver, if (session) { if (req != NULL) { - register_async_event (session, + rspamd_session_add_event (session, (event_finalizer_t)rspamd_dns_fin_cb, reqdata, g_quark_from_static_string ("dns resolver")); diff --git a/src/libserver/events.c b/src/libserver/events.c index 73ebef6a7..4925b8c69 100644 --- a/src/libserver/events.c +++ b/src/libserver/events.c @@ -90,7 +90,7 @@ rspamd_event_hash (gconstpointer a) struct rspamd_async_session * -new_async_session (rspamd_mempool_t * pool, session_finalizer_t fin, +rspamd_session_create (rspamd_mempool_t * pool, session_finalizer_t fin, event_finalizer_t restore, event_finalizer_t cleanup, void *user_data) { struct rspamd_async_session *new; @@ -111,7 +111,7 @@ new_async_session (rspamd_mempool_t * pool, session_finalizer_t fin, } void -register_async_event (struct rspamd_async_session *session, +rspamd_session_add_event (struct rspamd_async_session *session, event_finalizer_t fin, void *user_data, GQuark subsystem) @@ -146,7 +146,7 @@ register_async_event (struct rspamd_async_session *session, } void -remove_normal_event (struct rspamd_async_session *session, +rspamd_session_remove_event (struct rspamd_async_session *session, event_finalizer_t fin, void *ud) { @@ -180,11 +180,11 @@ remove_normal_event (struct rspamd_async_session *session, g_hash_table_remove (session->events, found_ev); - check_session_pending (session); + rspamd_session_pending (session); } static gboolean -rspamd_session_destroy (gpointer k, gpointer v, gpointer unused) +rspamd_session_destroy_callback (gpointer k, gpointer v, gpointer unused) { struct rspamd_async_event *ev = v; @@ -202,7 +202,7 @@ rspamd_session_destroy (gpointer k, gpointer v, gpointer unused) } gboolean -destroy_session (struct rspamd_async_session *session) +rspamd_session_destroy (struct rspamd_async_session *session) { if (session == NULL) { msg_info ("session is NULL"); @@ -211,7 +211,7 @@ destroy_session (struct rspamd_async_session *session) session->flags |= RSPAMD_SESSION_FLAG_DESTROYING; g_hash_table_foreach_remove (session->events, - rspamd_session_destroy, + rspamd_session_destroy_callback, session); if (session->cleanup != NULL) { @@ -222,7 +222,7 @@ destroy_session (struct rspamd_async_session *session) } gboolean -check_session_pending (struct rspamd_async_session *session) +rspamd_session_pending (struct rspamd_async_session *session) { gboolean ret = TRUE; @@ -233,7 +233,7 @@ check_session_pending (struct rspamd_async_session *session) if (session->restore != NULL) { session->restore (session->user_data); /* Call pending once more */ - return check_session_pending (session); + return rspamd_session_pending (session); } } else { diff --git a/src/libserver/events.h b/src/libserver/events.h index d78c79792..46f7ae0ef 100644 --- a/src/libserver/events.h +++ b/src/libserver/events.h @@ -44,7 +44,7 @@ typedef gboolean (*session_finalizer_t)(gpointer user_data); * @param user_data abstract user data * @return */ -struct rspamd_async_session * new_async_session (rspamd_mempool_t *pool, +struct rspamd_async_session * rspamd_session_create (rspamd_mempool_t *pool, session_finalizer_t fin, event_finalizer_t restore, event_finalizer_t cleanup, gpointer user_data); @@ -55,7 +55,7 @@ struct rspamd_async_session * new_async_session (rspamd_mempool_t *pool, * @param user_data abstract user_data * @param forced unused */ -void register_async_event (struct rspamd_async_session *session, +void rspamd_session_add_event (struct rspamd_async_session *session, event_finalizer_t fin, gpointer user_data, GQuark subsystem); /** @@ -64,7 +64,7 @@ void register_async_event (struct rspamd_async_session *session, * @param fin final callback * @param ud user data object */ -void remove_normal_event (struct rspamd_async_session *session, +void rspamd_session_remove_event (struct rspamd_async_session *session, event_finalizer_t fin, gpointer ud); @@ -72,14 +72,14 @@ void remove_normal_event (struct rspamd_async_session *session, * Must be called at the end of session, it calls fin functions for all non-forced callbacks * @return true if the whole session was destroyed and false if there are forced events */ -gboolean destroy_session (struct rspamd_async_session *session); +gboolean rspamd_session_destroy (struct rspamd_async_session *session); /** * Check session for events pending and call fin callback if no events are pending * @param session session object * @return TRUE if session has pending events */ -gboolean check_session_pending (struct rspamd_async_session *session); +gboolean rspamd_session_pending (struct rspamd_async_session *session); /** * Start watching for events in the session, so the specified watcher will be added diff --git a/src/libserver/task.c b/src/libserver/task.c index d4fae99db..502fdfb8d 100644 --- a/src/libserver/task.c +++ b/src/libserver/task.c @@ -358,7 +358,7 @@ rspamd_task_process (struct rspamd_task *task, task->state = WAIT_PRE_FILTER; } - check_session_pending (task->s); + rspamd_session_pending (task->s); return TRUE; } |