mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-18 07:48:14 +00:00
Merge "stasis: Fix ABI between DEVMODE and non-DEVMODE." into 13
This commit is contained in:
@@ -614,9 +614,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);
|
||||||
|
#ifdef AST_DEVMODE
|
||||||
#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
|
#else
|
||||||
struct stasis_subscription *stasis_subscribe(struct stasis_topic *topic,
|
struct stasis_subscription *stasis_subscribe(struct stasis_topic *topic,
|
||||||
@@ -649,9 +649,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);
|
||||||
|
#ifdef AST_DEVMODE
|
||||||
#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
|
#else
|
||||||
struct stasis_subscription *stasis_subscribe_pool(struct stasis_topic *topic,
|
struct stasis_subscription *stasis_subscribe_pool(struct stasis_topic *topic,
|
||||||
|
|||||||
@@ -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,9 +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);
|
||||||
|
#ifdef AST_DEVMODE
|
||||||
#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
|
#else
|
||||||
struct stasis_message_router *stasis_message_router_create(
|
struct stasis_message_router *stasis_message_router_create(
|
||||||
@@ -77,9 +77,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);
|
||||||
|
#ifdef AST_DEVMODE
|
||||||
#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
|
#else
|
||||||
struct stasis_message_router *stasis_message_router_create_pool(
|
struct stasis_message_router *stasis_message_router_create_pool(
|
||||||
|
|||||||
@@ -438,10 +438,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;
|
||||||
}
|
}
|
||||||
@@ -642,7 +643,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,
|
||||||
@@ -652,14 +652,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;
|
||||||
|
|
||||||
@@ -730,7 +722,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,
|
||||||
@@ -741,17 +732,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,
|
||||||
@@ -762,15 +743,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)
|
||||||
{
|
{
|
||||||
@@ -2668,3 +2640,31 @@ int stasis_init(void)
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef AST_DEVMODE
|
||||||
|
#undef stasis_subscribe
|
||||||
|
struct stasis_subscription *stasis_subscribe(
|
||||||
|
struct stasis_topic *topic,
|
||||||
|
stasis_subscription_cb callback,
|
||||||
|
void *data);
|
||||||
|
#undef stasis_subscribe_pool
|
||||||
|
struct stasis_subscription *stasis_subscribe_pool(
|
||||||
|
struct stasis_topic *topic,
|
||||||
|
stasis_subscription_cb callback,
|
||||||
|
void *data);
|
||||||
|
#endif
|
||||||
|
struct stasis_subscription *stasis_subscribe(
|
||||||
|
struct stasis_topic *topic,
|
||||||
|
stasis_subscription_cb callback,
|
||||||
|
void *data)
|
||||||
|
{
|
||||||
|
return internal_stasis_subscribe(topic, callback, data, 1, 0, __FILE__, __LINE__, __PRETTY_FUNCTION__);
|
||||||
|
}
|
||||||
|
|
||||||
|
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, __FILE__, __LINE__, __PRETTY_FUNCTION__);
|
||||||
|
}
|
||||||
|
|||||||
@@ -986,11 +986,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);
|
||||||
|
|
||||||
|
|||||||
@@ -206,14 +206,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;
|
||||||
@@ -232,19 +227,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);
|
||||||
@@ -258,33 +245,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)
|
||||||
{
|
{
|
||||||
@@ -442,3 +413,23 @@ void stasis_message_router_accept_formatters(struct stasis_message_router *route
|
|||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef AST_DEVMODE
|
||||||
|
#undef stasis_message_router_create
|
||||||
|
struct stasis_message_router *stasis_message_router_create(
|
||||||
|
struct stasis_topic *topic);
|
||||||
|
#undef stasis_message_router_create_pool
|
||||||
|
struct stasis_message_router *stasis_message_router_create_pool(
|
||||||
|
struct stasis_topic *topic);
|
||||||
|
#endif
|
||||||
|
struct stasis_message_router *stasis_message_router_create(
|
||||||
|
struct stasis_topic *topic)
|
||||||
|
{
|
||||||
|
return stasis_message_router_create_internal(topic, 0, __FILE__, __LINE__, __PRETTY_FUNCTION__);
|
||||||
|
}
|
||||||
|
|
||||||
|
struct stasis_message_router *stasis_message_router_create_pool(
|
||||||
|
struct stasis_topic *topic)
|
||||||
|
{
|
||||||
|
return stasis_message_router_create_internal(topic, 1, __FILE__, __LINE__, __PRETTY_FUNCTION__);
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user