diff options
Diffstat (limited to 'libglusterfs/src/event.h')
| -rw-r--r-- | libglusterfs/src/event.h | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/libglusterfs/src/event.h b/libglusterfs/src/event.h deleted file mode 100644 index 930a7d1e28b..00000000000 --- a/libglusterfs/src/event.h +++ /dev/null @@ -1,97 +0,0 @@ -/* - Copyright (c) 2008-2012 Red Hat, Inc. <http://www.redhat.com> - This file is part of GlusterFS. - - This file is licensed to you under your choice of the GNU Lesser - General Public License, version 3 or any later version (LGPLv3 or - later), or the GNU General Public License, version 2 (GPLv2), in all - cases as published by the Free Software Foundation. -*/ - -#ifndef _EVENT_H_ -#define _EVENT_H_ - -#ifndef _CONFIG_H -#define _CONFIG_H -#include "config.h" -#endif - -#include <pthread.h> - -struct event_pool; -struct event_ops; -struct event_slot_poll; -struct event_slot_epoll; -struct event_data { - int idx; - int gen; -} __attribute__ ((__packed__, __may_alias__)); - - -typedef int (*event_handler_t) (int fd, int idx, void *data, - int poll_in, int poll_out, int poll_err); - -#define EVENT_EPOLL_TABLES 1024 -#define EVENT_EPOLL_SLOTS 1024 -#define EVENT_MAX_THREADS 32 - -struct event_pool { - struct event_ops *ops; - - int fd; - int breaker[2]; - - int count; - struct event_slot_poll *reg; - struct event_slot_epoll *ereg[EVENT_EPOLL_TABLES]; - int slots_used[EVENT_EPOLL_TABLES]; - - int used; - int changed; - - pthread_mutex_t mutex; - pthread_cond_t cond; - - void *evcache; - int evcache_size; - - /* NOTE: Currently used only when event processing is done using - * epoll. */ - int eventthreadcount; /* number of event threads to execute. */ - pthread_t pollers[EVENT_MAX_THREADS]; /* poller thread_id store, - * and live status */ -}; - -struct event_ops { - struct event_pool * (*new) (int count, int eventthreadcount); - - int (*event_register) (struct event_pool *event_pool, int fd, - event_handler_t handler, - void *data, int poll_in, int poll_out); - - int (*event_select_on) (struct event_pool *event_pool, int fd, int idx, - int poll_in, int poll_out); - - int (*event_unregister) (struct event_pool *event_pool, int fd, int idx); - - int (*event_unregister_close) (struct event_pool *event_pool, int fd, - int idx); - - int (*event_dispatch) (struct event_pool *event_pool); - - int (*event_reconfigure_threads) (struct event_pool *event_pool, - int newcount); -}; - -struct event_pool *event_pool_new (int count, int eventthreadcount); -int event_select_on (struct event_pool *event_pool, int fd, int idx, - int poll_in, int poll_out); -int event_register (struct event_pool *event_pool, int fd, - event_handler_t handler, - void *data, int poll_in, int poll_out); -int event_unregister (struct event_pool *event_pool, int fd, int idx); -int event_unregister_close (struct event_pool *event_pool, int fd, int idx); -int event_dispatch (struct event_pool *event_pool); -int event_reconfigure_threads (struct event_pool *event_pool, int value); - -#endif /* _EVENT_H_ */ |
