mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-06 04:30:28 +00:00
Merge "stasis: Fix ABI between DEVMODE and non-DEVMODE."
This commit is contained in:
@@ -604,14 +604,9 @@ void stasis_subscription_cb_noop(void *data, struct stasis_subscription *sub, st
|
|||||||
* has been subscribed. This occurs immediately before accepted message
|
* has been subscribed. This occurs immediately before accepted message
|
||||||
* types can be set and the callback must expect to receive it.
|
* types can be set and the callback must expect to receive it.
|
||||||
*/
|
*/
|
||||||
#ifdef AST_DEVMODE
|
|
||||||
struct stasis_subscription *__stasis_subscribe(struct stasis_topic *topic,
|
struct stasis_subscription *__stasis_subscribe(struct stasis_topic *topic,
|
||||||
stasis_subscription_cb callback, void *data, const char *file, int lineno, const char *func);
|
stasis_subscription_cb callback, void *data, const char *file, int lineno, const char *func);
|
||||||
#define stasis_subscribe(topic, callback, data) __stasis_subscribe(topic, callback, data, __FILE__, __LINE__, __PRETTY_FUNCTION__)
|
#define stasis_subscribe(topic, callback, data) __stasis_subscribe(topic, callback, data, __FILE__, __LINE__, __PRETTY_FUNCTION__)
|
||||||
#else
|
|
||||||
struct stasis_subscription *stasis_subscribe(struct stasis_topic *topic,
|
|
||||||
stasis_subscription_cb callback, void *data);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Create a subscription whose callbacks occur on a thread pool
|
* \brief Create a subscription whose callbacks occur on a thread pool
|
||||||
@@ -639,14 +634,9 @@ struct stasis_subscription *stasis_subscribe(struct stasis_topic *topic,
|
|||||||
* has been subscribed. This occurs immediately before accepted message
|
* has been subscribed. This occurs immediately before accepted message
|
||||||
* types can be set and the callback must expect to receive it.
|
* types can be set and the callback must expect to receive it.
|
||||||
*/
|
*/
|
||||||
#ifdef AST_DEVMODE
|
|
||||||
struct stasis_subscription *__stasis_subscribe_pool(struct stasis_topic *topic,
|
struct stasis_subscription *__stasis_subscribe_pool(struct stasis_topic *topic,
|
||||||
stasis_subscription_cb callback, void *data, const char *file, int lineno, const char *func);
|
stasis_subscription_cb callback, void *data, const char *file, int lineno, const char *func);
|
||||||
#define stasis_subscribe_pool(topic, callback, data) __stasis_subscribe_pool(topic, callback, data, __FILE__, __LINE__, __PRETTY_FUNCTION__)
|
#define stasis_subscribe_pool(topic, callback, data) __stasis_subscribe_pool(topic, callback, data, __FILE__, __LINE__, __PRETTY_FUNCTION__)
|
||||||
#else
|
|
||||||
struct stasis_subscription *stasis_subscribe_pool(struct stasis_topic *topic,
|
|
||||||
stasis_subscription_cb callback, void *data);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Indicate to a subscription that we are interested in a message type.
|
* \brief Indicate to a subscription that we are interested in a message type.
|
||||||
|
@@ -60,7 +60,6 @@
|
|||||||
* \return \c NULL on error.
|
* \return \c NULL on error.
|
||||||
* \since 12
|
* \since 12
|
||||||
*/
|
*/
|
||||||
#ifdef AST_DEVMODE
|
|
||||||
struct stasis_subscription *internal_stasis_subscribe(
|
struct stasis_subscription *internal_stasis_subscribe(
|
||||||
struct stasis_topic *topic,
|
struct stasis_topic *topic,
|
||||||
stasis_subscription_cb callback,
|
stasis_subscription_cb callback,
|
||||||
@@ -70,13 +69,5 @@ struct stasis_subscription *internal_stasis_subscribe(
|
|||||||
const char *file,
|
const char *file,
|
||||||
int lineno,
|
int lineno,
|
||||||
const char *func);
|
const char *func);
|
||||||
#else
|
|
||||||
struct stasis_subscription *internal_stasis_subscribe(
|
|
||||||
struct stasis_topic *topic,
|
|
||||||
stasis_subscription_cb callback,
|
|
||||||
void *data,
|
|
||||||
int needs_mailbox,
|
|
||||||
int use_thread_pool);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* STASIS_INTERNAL_H_ */
|
#endif /* STASIS_INTERNAL_H_ */
|
||||||
|
@@ -55,14 +55,9 @@ struct stasis_message_router;
|
|||||||
*
|
*
|
||||||
* \since 12
|
* \since 12
|
||||||
*/
|
*/
|
||||||
#ifdef AST_DEVMODE
|
|
||||||
struct stasis_message_router *__stasis_message_router_create(
|
struct stasis_message_router *__stasis_message_router_create(
|
||||||
struct stasis_topic *topic, const char *file, int lineno, const char *func);
|
struct stasis_topic *topic, const char *file, int lineno, const char *func);
|
||||||
#define stasis_message_router_create(topic) __stasis_message_router_create(topic, __FILE__, __LINE__, __PRETTY_FUNCTION__)
|
#define stasis_message_router_create(topic) __stasis_message_router_create(topic, __FILE__, __LINE__, __PRETTY_FUNCTION__)
|
||||||
#else
|
|
||||||
struct stasis_message_router *stasis_message_router_create(
|
|
||||||
struct stasis_topic *topic);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Create a new message router object.
|
* \brief Create a new message router object.
|
||||||
@@ -77,14 +72,9 @@ struct stasis_message_router *stasis_message_router_create(
|
|||||||
*
|
*
|
||||||
* \since 12.8.0
|
* \since 12.8.0
|
||||||
*/
|
*/
|
||||||
#ifdef AST_DEVMODE
|
|
||||||
struct stasis_message_router *__stasis_message_router_create_pool(
|
struct stasis_message_router *__stasis_message_router_create_pool(
|
||||||
struct stasis_topic *topic, const char *file, int lineno, const char *func);
|
struct stasis_topic *topic, const char *file, int lineno, const char *func);
|
||||||
#define stasis_message_router_create_pool(topic) __stasis_message_router_create_pool(topic, __FILE__, __LINE__, __PRETTY_FUNCTION__)
|
#define stasis_message_router_create_pool(topic) __stasis_message_router_create_pool(topic, __FILE__, __LINE__, __PRETTY_FUNCTION__)
|
||||||
#else
|
|
||||||
struct stasis_message_router *stasis_message_router_create_pool(
|
|
||||||
struct stasis_topic *topic);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Unsubscribe the router from the upstream topic.
|
* \brief Unsubscribe the router from the upstream topic.
|
||||||
|
@@ -436,10 +436,11 @@ struct stasis_topic *stasis_topic_create(const char *name)
|
|||||||
res |= AST_VECTOR_INIT(&topic->upstream_topics, 0);
|
res |= AST_VECTOR_INIT(&topic->upstream_topics, 0);
|
||||||
#ifdef AST_DEVMODE
|
#ifdef AST_DEVMODE
|
||||||
topic->statistics = stasis_topic_statistics_create(name);
|
topic->statistics = stasis_topic_statistics_create(name);
|
||||||
if (!topic->name || !topic->statistics || res) {
|
if (!topic->name || !topic->statistics || res)
|
||||||
#else
|
#else
|
||||||
if (!topic->name || res) {
|
if (!topic->name || res)
|
||||||
#endif
|
#endif
|
||||||
|
{
|
||||||
ao2_ref(topic, -1);
|
ao2_ref(topic, -1);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -640,7 +641,6 @@ static struct stasis_subscription_statistics *stasis_subscription_statistics_cre
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef AST_DEVMODE
|
|
||||||
struct stasis_subscription *internal_stasis_subscribe(
|
struct stasis_subscription *internal_stasis_subscribe(
|
||||||
struct stasis_topic *topic,
|
struct stasis_topic *topic,
|
||||||
stasis_subscription_cb callback,
|
stasis_subscription_cb callback,
|
||||||
@@ -650,14 +650,6 @@ struct stasis_subscription *internal_stasis_subscribe(
|
|||||||
const char *file,
|
const char *file,
|
||||||
int lineno,
|
int lineno,
|
||||||
const char *func)
|
const char *func)
|
||||||
#else
|
|
||||||
struct stasis_subscription *internal_stasis_subscribe(
|
|
||||||
struct stasis_topic *topic,
|
|
||||||
stasis_subscription_cb callback,
|
|
||||||
void *data,
|
|
||||||
int needs_mailbox,
|
|
||||||
int use_thread_pool)
|
|
||||||
#endif
|
|
||||||
{
|
{
|
||||||
struct stasis_subscription *sub;
|
struct stasis_subscription *sub;
|
||||||
|
|
||||||
@@ -728,7 +720,6 @@ struct stasis_subscription *internal_stasis_subscribe(
|
|||||||
return sub;
|
return sub;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef AST_DEVMODE
|
|
||||||
struct stasis_subscription *__stasis_subscribe(
|
struct stasis_subscription *__stasis_subscribe(
|
||||||
struct stasis_topic *topic,
|
struct stasis_topic *topic,
|
||||||
stasis_subscription_cb callback,
|
stasis_subscription_cb callback,
|
||||||
@@ -739,17 +730,7 @@ struct stasis_subscription *__stasis_subscribe(
|
|||||||
{
|
{
|
||||||
return internal_stasis_subscribe(topic, callback, data, 1, 0, file, lineno, func);
|
return internal_stasis_subscribe(topic, callback, data, 1, 0, file, lineno, func);
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
struct stasis_subscription *stasis_subscribe(
|
|
||||||
struct stasis_topic *topic,
|
|
||||||
stasis_subscription_cb callback,
|
|
||||||
void *data)
|
|
||||||
{
|
|
||||||
return internal_stasis_subscribe(topic, callback, data, 1, 0);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef AST_DEVMODE
|
|
||||||
struct stasis_subscription *__stasis_subscribe_pool(
|
struct stasis_subscription *__stasis_subscribe_pool(
|
||||||
struct stasis_topic *topic,
|
struct stasis_topic *topic,
|
||||||
stasis_subscription_cb callback,
|
stasis_subscription_cb callback,
|
||||||
@@ -760,15 +741,6 @@ struct stasis_subscription *__stasis_subscribe_pool(
|
|||||||
{
|
{
|
||||||
return internal_stasis_subscribe(topic, callback, data, 1, 1, file, lineno, func);
|
return internal_stasis_subscribe(topic, callback, data, 1, 1, file, lineno, func);
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
struct stasis_subscription *stasis_subscribe_pool(
|
|
||||||
struct stasis_topic *topic,
|
|
||||||
stasis_subscription_cb callback,
|
|
||||||
void *data)
|
|
||||||
{
|
|
||||||
return internal_stasis_subscribe(topic, callback, data, 1, 1);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static int sub_cleanup(void *data)
|
static int sub_cleanup(void *data)
|
||||||
{
|
{
|
||||||
|
@@ -984,11 +984,7 @@ struct stasis_caching_topic *stasis_caching_topic_create(struct stasis_topic *or
|
|||||||
}
|
}
|
||||||
ast_free(new_name);
|
ast_free(new_name);
|
||||||
|
|
||||||
#ifdef AST_DEVMODE
|
|
||||||
caching_topic->sub = internal_stasis_subscribe(original_topic, caching_topic_exec, caching_topic, 0, 0, __FILE__, __LINE__, __PRETTY_FUNCTION__);
|
caching_topic->sub = internal_stasis_subscribe(original_topic, caching_topic_exec, caching_topic, 0, 0, __FILE__, __LINE__, __PRETTY_FUNCTION__);
|
||||||
#else
|
|
||||||
caching_topic->sub = internal_stasis_subscribe(original_topic, caching_topic_exec, caching_topic, 0, 0);
|
|
||||||
#endif
|
|
||||||
if (caching_topic->sub == NULL) {
|
if (caching_topic->sub == NULL) {
|
||||||
ao2_ref(caching_topic, -1);
|
ao2_ref(caching_topic, -1);
|
||||||
|
|
||||||
|
@@ -204,14 +204,9 @@ static void router_dispatch(void *data,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef AST_DEVMODE
|
|
||||||
static struct stasis_message_router *stasis_message_router_create_internal(
|
static struct stasis_message_router *stasis_message_router_create_internal(
|
||||||
struct stasis_topic *topic, int use_thread_pool, const char *file, int lineno,
|
struct stasis_topic *topic, int use_thread_pool, const char *file, int lineno,
|
||||||
const char *func)
|
const char *func)
|
||||||
#else
|
|
||||||
static struct stasis_message_router *stasis_message_router_create_internal(
|
|
||||||
struct stasis_topic *topic, int use_thread_pool)
|
|
||||||
#endif
|
|
||||||
{
|
{
|
||||||
int res;
|
int res;
|
||||||
struct stasis_message_router *router;
|
struct stasis_message_router *router;
|
||||||
@@ -230,19 +225,11 @@ static struct stasis_message_router *stasis_message_router_create_internal(
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef AST_DEVMODE
|
|
||||||
if (use_thread_pool) {
|
if (use_thread_pool) {
|
||||||
router->subscription = __stasis_subscribe_pool(topic, router_dispatch, router, file, lineno, func);
|
router->subscription = __stasis_subscribe_pool(topic, router_dispatch, router, file, lineno, func);
|
||||||
} else {
|
} else {
|
||||||
router->subscription = __stasis_subscribe(topic, router_dispatch, router, file, lineno, func);
|
router->subscription = __stasis_subscribe(topic, router_dispatch, router, file, lineno, func);
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
if (use_thread_pool) {
|
|
||||||
router->subscription = stasis_subscribe_pool(topic, router_dispatch, router);
|
|
||||||
} else {
|
|
||||||
router->subscription = stasis_subscribe(topic, router_dispatch, router);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (!router->subscription) {
|
if (!router->subscription) {
|
||||||
ao2_ref(router, -1);
|
ao2_ref(router, -1);
|
||||||
@@ -256,33 +243,17 @@ static struct stasis_message_router *stasis_message_router_create_internal(
|
|||||||
return router;
|
return router;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef AST_DEVMODE
|
|
||||||
struct stasis_message_router *__stasis_message_router_create(
|
struct stasis_message_router *__stasis_message_router_create(
|
||||||
struct stasis_topic *topic, const char *file, int lineno, const char *func)
|
struct stasis_topic *topic, const char *file, int lineno, const char *func)
|
||||||
{
|
{
|
||||||
return stasis_message_router_create_internal(topic, 0, file, lineno, func);
|
return stasis_message_router_create_internal(topic, 0, file, lineno, func);
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
struct stasis_message_router *stasis_message_router_create(
|
|
||||||
struct stasis_topic *topic)
|
|
||||||
{
|
|
||||||
return stasis_message_router_create_internal(topic, 0);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef AST_DEVMODE
|
|
||||||
struct stasis_message_router *__stasis_message_router_create_pool(
|
struct stasis_message_router *__stasis_message_router_create_pool(
|
||||||
struct stasis_topic *topic, const char *file, int lineno, const char *func)
|
struct stasis_topic *topic, const char *file, int lineno, const char *func)
|
||||||
{
|
{
|
||||||
return stasis_message_router_create_internal(topic, 1, file, lineno, func);
|
return stasis_message_router_create_internal(topic, 1, file, lineno, func);
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
struct stasis_message_router *stasis_message_router_create_pool(
|
|
||||||
struct stasis_topic *topic)
|
|
||||||
{
|
|
||||||
return stasis_message_router_create_internal(topic, 1);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void stasis_message_router_unsubscribe(struct stasis_message_router *router)
|
void stasis_message_router_unsubscribe(struct stasis_message_router *router)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user