RoadRunner Reference Manual | |||
---|---|---|---|
<<< Previous Page | Home | Up | Next Page >>> |
#define RR_ERROR enum RRError; extern const gint rr_major_version; extern const gint rr_minor_version; extern const gint rr_micro_version; extern const gint rr_interface_age; extern const gint rr_binary_age; GQuark rr_error_quark (void); gboolean rr_init (gint *argc, gchar ***argv, GError **error); gboolean rr_exit (GError **error); gboolean rr_quit (GError **error); gboolean rr_wait_until_done (GError **error); void rr_set_max_work_threads (int max); gint rr_get_max_work_threads (void); void rr_main_work_pool_push (RRWPGroup gid, GFunc func, gpointer data, gpointer user_data); void rr_main_work_pool_join (RRWPGroup gid); GMainContext* rr_get_main_context (void); guint rr_add_watch_full (GIOChannel *channel, gint priority, GIOCondition condition, GIOFunc func, gpointer user_data, GDestroyNotify notify); gboolean rr_source_remove (guint tag); |
Before the RoadRunner framework can be used it has to be initialized. A function call to rr_init is all that is necessary to initialize the library. The resources used by the library can be freed using rr_exit.
typedef enum { RR_ERROR_OTHER, RR_ERROR_GETHOSTBYNAME, RR_ERROR_CONNECT, RR_ERROR_NOT_READY, RR_ERROR_DISCONNECTED, RR_ERROR_BIND, RR_ERROR_LISTEN, RR_ERROR_SOCKET, RR_ERROR_GETADDRINFO } RRError; |
gboolean rr_init (gint *argc, gchar ***argv, GError **error); |
Initializes RoadRunner and starts the event thread.
argc : | a pointer to argc or NULL. |
argv : | a pointer to argv or NULL. |
error : | location to return an error. |
Returns : | TRUE on success, FALSE on failure. |
gboolean rr_exit (GError **error); |
Terminates the RoadRunner event thread and free the resources allocated by rr_init.
error : | location to return an error. |
Returns : | TRUE on success, FALSE on failure. |
gboolean rr_quit (GError **error); |
Terminates the main loop. This will unblock rr_wait_until_done.
error : | location to return an error. |
Returns : | TRUE on success, FALSE on failure. |
gboolean rr_wait_until_done (GError **error); |
Blocks until the RoadRunner event loop is done. (when rr_quit is called).
error : | location to return an error. |
Returns : | TRUE on success, FALSE on failure. |
void rr_set_max_work_threads (int max); |
Sets the maximum number of threads roadrunner will use. This function should be called before rr_init.
max : | maximum number of threads. |
gint rr_get_max_work_threads (void); |
Returns the maximum number of threads that roadrunner will use.
Returns : | the number of threads. |
void rr_main_work_pool_push (RRWPGroup gid, GFunc func, gpointer data, gpointer user_data); |
Inserts func to the list of task to be executed by the roadrunner wide work pool. The work pool guarantees that two or more tasks with the same gid will never be executed in parallel.
gid : | a thread group id. |
func : | a function to execute by one thread in the work pool. |
data : | first argument to func |
user_data : | second argument to func |
void rr_main_work_pool_join (RRWPGroup gid); |
blocks until all tasks in the roadrunner global work pool of the given gid are executed.
gid : | a thread group id |
guint rr_add_watch_full (GIOChannel *channel, gint priority, GIOCondition condition, GIOFunc func, gpointer user_data, GDestroyNotify notify); |
channel : | |
priority : | |
condition : | |
func : | |
user_data : | |
notify : | |
Returns : |
|