summaryrefslogtreecommitdiff
path: root/res/res_pjsip_transport_websocket.c
diff options
context:
space:
mode:
authorRichard Mudgett <rmudgett@digium.com>2016-01-06 19:10:16 -0600
committerRichard Mudgett <rmudgett@digium.com>2016-01-08 22:11:45 -0600
commit0bca2a5c26bae18dadc368e22dbbeae6b61c5cd7 (patch)
treeb46d6d10a987e964393bdfa18048e74eb5722af9 /res/res_pjsip_transport_websocket.c
parentf0f5fbbc01ad2ba325f09dc80a92c3c22374ab67 (diff)
res_pjsip: Create human friendly serializer names.
PJSIP name formats: pjsip/aor/<aor>-<seq> -- registrar thread pool serializer pjsip/default-<seq> -- default thread pool serializer pjsip/messaging -- messaging thread pool serializer pjsip/outreg/<registration>-<seq> -- outbound registration thread pool serializer pjsip/pubsub/<endpoint>-<seq> -- pubsub thread pool serializer pjsip/refer/<endpoint>-<seq> -- REFER thread pool serializer pjsip/session/<endpoint>-<seq> -- session thread pool serializer pjsip/websocket-<seq> -- websocket thread pool serializer Change-Id: Iff9df8da3ddae1132cb2ef65f64df0c465c5e084
Diffstat (limited to 'res/res_pjsip_transport_websocket.c')
-rw-r--r--res/res_pjsip_transport_websocket.c21
1 files changed, 15 insertions, 6 deletions
diff --git a/res/res_pjsip_transport_websocket.c b/res/res_pjsip_transport_websocket.c
index 3157a940f..cdf6c6733 100644
--- a/res/res_pjsip_transport_websocket.c
+++ b/res/res_pjsip_transport_websocket.c
@@ -303,14 +303,22 @@ static int get_write_timeout(void)
return write_timeout;
}
-/*!
- \brief WebSocket connection handler.
- */
+static struct ast_taskprocessor *create_websocket_serializer(void)
+{
+ char tps_name[AST_TASKPROCESSOR_MAX_NAME + 1];
+
+ /* Create name with seq number appended. */
+ ast_taskprocessor_build_name(tps_name, sizeof(tps_name), "pjsip/websocket");
+
+ return ast_sip_create_serializer(tps_name);
+}
+
+/*! \brief WebSocket connection handler. */
static void websocket_cb(struct ast_websocket *session, struct ast_variable *parameters, struct ast_variable *headers)
{
- struct ast_taskprocessor *serializer = NULL;
+ struct ast_taskprocessor *serializer;
struct transport_create_data create_data;
- struct ws_transport *transport = NULL;
+ struct ws_transport *transport;
struct transport_read_data read_data;
if (ast_websocket_set_nonblock(session)) {
@@ -323,7 +331,8 @@ static void websocket_cb(struct ast_websocket *session, struct ast_variable *par
return;
}
- if (!(serializer = ast_sip_create_serializer())) {
+ serializer = create_websocket_serializer();
+ if (!serializer) {
ast_websocket_unref(session);
return;
}