mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-20 20:44:20 +00:00
Make ast_taskprocessor_listener opaque.
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379125 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -78,6 +78,26 @@ struct ast_taskprocessor {
|
||||
/*! Indicates if the taskprocessor is in the process of shuting down */
|
||||
unsigned int shutting_down:1;
|
||||
};
|
||||
|
||||
/*!
|
||||
* \brief A listener for taskprocessors
|
||||
*
|
||||
* \since 12.0.0
|
||||
*
|
||||
* When a taskprocessor's state changes, the listener
|
||||
* is notified of the change. This allows for tasks
|
||||
* to be addressed in whatever way is appropriate for
|
||||
* the module using the taskprocessor.
|
||||
*/
|
||||
struct ast_taskprocessor_listener {
|
||||
/*! The callbacks the taskprocessor calls into to notify of state changes */
|
||||
const struct ast_taskprocessor_listener_callbacks *callbacks;
|
||||
/*! The taskprocessor that the listener is listening to */
|
||||
struct ast_taskprocessor *tps;
|
||||
/*! Data private to the listener */
|
||||
void *user_data;
|
||||
};
|
||||
|
||||
#define TPS_MAX_BUCKETS 7
|
||||
/*! \brief tps_singletons is the astobj2 container for taskprocessor singletons */
|
||||
static struct ao2_container *tps_singletons;
|
||||
@@ -473,6 +493,16 @@ struct ast_taskprocessor_listener *ast_taskprocessor_listener_alloc(const struct
|
||||
return listener;
|
||||
}
|
||||
|
||||
struct ast_taskprocessor *ast_taskprocessor_listener_get_tps(const struct ast_taskprocessor_listener *listener)
|
||||
{
|
||||
return listener->tps;
|
||||
}
|
||||
|
||||
void *ast_taskprocessor_listener_get_user_data(const struct ast_taskprocessor_listener *listener)
|
||||
{
|
||||
return listener->user_data;
|
||||
}
|
||||
|
||||
static void *default_listener_pvt_alloc(void)
|
||||
{
|
||||
struct default_taskprocessor_listener_pvt *pvt;
|
||||
|
Reference in New Issue
Block a user