NAME¶
globus_callback.h -
Globus Callback API.
SYNOPSIS¶
#include 'globus_common_include.h'
#include 'globus_module.h'
#include 'globus_time.h'
Macros¶
#define
GLOBUS_CALLBACK_MODULE
Module descriptor. #define
GLOBUS_POLL_MODULE
Module descriptor. #define
GLOBUS_CALLBACK_GLOBAL_SPACE
Global callback space. #define
GLOBUS_SIGNAL_INTERRUPT
Convenience Macros
#define
globus_callback_poll(a)
Poll the global callback space. #define
globus_poll_blocking()
Blocking poll of the global callback space. #define
globus_poll_nonblocking()
Nonblocking poll of the global callback space. #define
globus_poll()
Nonblocking poll of the global callback space. #define
globus_signal_poll()
Wake up callback polling thread. #define
globus_callback_register_oneshot(callback_handle,delay_time,callback_func,callback_user_arg)
Register a oneshot function in the global callback space. #define
globus_callback_register_periodic(callback_handle,delay_time,period,callback_func,callback_user_arg)
Register a periodic function in the global callback space. #define
globus_callback_register_signal_handler(signum,persist,callback_func,callback_user_arg)
Register a signal handler in the global callback space.
Typedefs¶
typedef int
globus_callback_handle_t
Periodic callback handle. typedef int
globus_callback_space_t
Callback space handle. typedef struct
globus_l_callback_space_attr_s *
globus_callback_space_attr_t"
Callback space attribute.
Callback Prototypes
typedef void(*
globus_callback_func_t )(void *user_arg)
Globus callback prototype.
Enumerations¶
enum
globus_callback_error_type_t {
GLOBUS_CALLBACK_ERROR_INVALID_CALLBACK_HANDLE = 1024,
GLOBUS_CALLBACK_ERROR_INVALID_SPACE,
GLOBUS_CALLBACK_ERROR_MEMORY_ALLOC,
GLOBUS_CALLBACK_ERROR_INVALID_ARGUMENT,
GLOBUS_CALLBACK_ERROR_ALREADY_CANCELED,
GLOBUS_CALLBACK_ERROR_NO_ACTIVE_CALLBACK }
Error types. enum
globus_callback_space_behavior_t {
GLOBUS_CALLBACK_SPACE_BEHAVIOR_SINGLE,
GLOBUS_CALLBACK_SPACE_BEHAVIOR_SERIALIZED,
GLOBUS_CALLBACK_SPACE_BEHAVIOR_THREADED }
Callback space behaviors describe how a space behaves.
Functions¶
globus_result_t globus_callback_space_init
(
globus_callback_space_t *space,
globus_callback_space_attr_t
attr)
Initialize a user space. globus_result_t
globus_callback_space_reference (
globus_callback_space_t space)
Take a reference to a space. globus_result_t
globus_callback_space_destroy (
globus_callback_space_t space)
Destroy a reference to a user space. globus_result_t
globus_callback_space_attr_init (
globus_callback_space_attr_t
*attr)
Initialize a space attr. globus_result_t
globus_callback_space_attr_destroy (
globus_callback_space_attr_t attr)
Destroy a space attr. globus_result_t
globus_callback_space_attr_set_behavior (
globus_callback_space_attr_t attr,
globus_callback_space_behavior_t behavior)
Set the behavior of a space. globus_result_t
globus_callback_space_attr_get_behavior (
globus_callback_space_attr_t attr,
globus_callback_space_behavior_t *behavior)
Get the behavior associated with an attr. globus_result_t
globus_callback_space_get (
globus_callback_space_t *space)
Retrieve the space of a currently running callback. int
globus_callback_space_get_depth (
globus_callback_space_t space)
Retrieve the current nesting level of a space. globus_bool_t
globus_callback_space_is_single (
globus_callback_space_t space)
See if the specified space is a single threaded behavior space.
globus_result_t globus_callback_space_register_signal_handler
(int signum,
globus_bool_t persist,
globus_callback_func_t
callback_func, void *callback_user_arg,
globus_callback_space_t space)
Fire a callback when the specified signal is received.
globus_result_t globus_callback_unregister_signal_handler (int
signum,
globus_callback_func_t unregister_callback, void *unreg_arg)
Unregister a signal handling callback. void
globus_callback_add_wakeup_handler (void(*wakeup)(void *), void
*user_arg)
Register a wakeup handler with callback library.
Oneshot Callbacks
globus_result_t globus_callback_space_register_oneshot
(
globus_callback_handle_t *callback_handle, const globus_reltime_t
*delay_time,
globus_callback_func_t callback_func, void
*callback_user_arg,
globus_callback_space_t space)
Register a oneshot some delay from now.
Periodic Callbacks
globus_result_t globus_callback_space_register_periodic
(
globus_callback_handle_t *callback_handle, const globus_reltime_t
*delay_time, const globus_reltime_t *period,
globus_callback_func_t
callback_func, void *callback_user_arg,
globus_callback_space_t space)
Register a periodic callback. globus_result_t
globus_callback_unregister (
globus_callback_handle_t
callback_handle,
globus_callback_func_t unregister_callback, void
*unreg_arg,
globus_bool_t *active)
Unregister a callback. globus_result_t
globus_callback_adjust_oneshot (
globus_callback_handle_t
callback_handle, const globus_reltime_t *new_delay)
Adjust the delay of a oneshot callback. globus_result_t
globus_callback_adjust_period (
globus_callback_handle_t
callback_handle, const globus_reltime_t *new_period)
Adjust the period of a periodic callback.
Callback Polling
void
globus_callback_space_poll (const globus_abstime_t *timestop,
globus_callback_space_t space)
Poll for ready callbacks. void
globus_callback_signal_poll ()
Signal the poll.
Miscellaneous
globus_bool_t globus_callback_get_timeout (globus_reltime_t
*time_left)
Get the amount of time left in a callback. globus_bool_t
globus_callback_has_time_expired ()
See if there is remaining time in a callback. globus_bool_t
globus_callback_was_restarted ()
See if a callback has been restarted.
Detailed Description¶
Globus Callback API.
Author¶
Generated automatically by Doxygen for globus_common from the source code.