]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-9952: Updated bladec test, it successfully listens for connections, further testin...
authorShane Bryldt <astaelan@gmail.com>
Fri, 10 Feb 2017 18:31:38 +0000 (18:31 +0000)
committerMike Jerris <mike@jerris.com>
Wed, 22 Mar 2017 21:42:49 +0000 (17:42 -0400)
libs/libblade/src/blade_module_wss.c
libs/libblade/src/include/blade_module.h
libs/libblade/test/bladec.c

index f7c485b2ff76a11790116dde160f48277cf24673..109082b232499d9d6f89701d90076e8838e929e3 100644 (file)
@@ -83,10 +83,11 @@ struct blade_transport_wss_init_s {
 ks_status_t blade_module_wss_create(blade_module_wss_t **bm_wssP, blade_handle_t *bh);
 ks_status_t blade_module_wss_destroy(blade_module_wss_t **bm_wssP);
 
-ks_status_t blade_module_wss_on_load(blade_module_t **bmP, blade_handle_t *bh);
-ks_status_t blade_module_wss_on_unload(blade_module_t *bm);
-ks_status_t blade_module_wss_on_startup(blade_module_t *bm, config_setting_t *config);
-ks_status_t blade_module_wss_on_shutdown(blade_module_t *bm);
+// @todo remove exporting this, it's only temporary until DSO loading is in place so wss module can be loaded
+KS_DECLARE(ks_status_t) blade_module_wss_on_load(blade_module_t **bmP, blade_handle_t *bh);
+KS_DECLARE(ks_status_t) blade_module_wss_on_unload(blade_module_t *bm);
+KS_DECLARE(ks_status_t) blade_module_wss_on_startup(blade_module_t *bm, config_setting_t *config);
+KS_DECLARE(ks_status_t) blade_module_wss_on_shutdown(blade_module_t *bm);
 
 ks_status_t blade_module_wss_listen(blade_module_wss_t *bm, ks_sockaddr_t *addr);
 void *blade_module_wss_listeners_thread(ks_thread_t *thread, void *data);
@@ -153,19 +154,22 @@ static blade_transport_callbacks_t g_transport_wss_callbacks =
 ks_status_t blade_module_wss_create(blade_module_wss_t **bm_wssP, blade_handle_t *bh)
 {
        blade_module_wss_t *bm_wss = NULL;
+       ks_pool_t *pool = NULL;
        
        ks_assert(bm_wssP);
        ks_assert(bh);
 
-    bm_wss = ks_pool_alloc(bm_wss->pool, sizeof(blade_module_wss_t));
+       pool = blade_handle_pool_get(bh);
+
+    bm_wss = ks_pool_alloc(pool, sizeof(blade_module_wss_t));
        bm_wss->handle = bh;
-       bm_wss->pool = blade_handle_pool_get(bh);
+       bm_wss->pool = pool;
        bm_wss->tpool = blade_handle_tpool_get(bh);
 
        blade_module_create(&bm_wss->module, bh, bm_wss, &g_module_wss_callbacks);
        bm_wss->module_callbacks = &g_module_wss_callbacks;
        bm_wss->transport_callbacks = &g_transport_wss_callbacks;
+
        list_init(&bm_wss->connected);
        ks_q_create(&bm_wss->disconnected, bm_wss->pool, 0);
        ks_assert(bm_wss->disconnected);
@@ -196,7 +200,7 @@ ks_status_t blade_module_wss_destroy(blade_module_wss_t **bm_wssP)
        return KS_STATUS_SUCCESS;
 }
 
-ks_status_t blade_module_wss_on_load(blade_module_t **bmP, blade_handle_t *bh)
+KS_DECLARE(ks_status_t) blade_module_wss_on_load(blade_module_t **bmP, blade_handle_t *bh)
 {
        blade_module_wss_t *bm_wss = NULL;
 
@@ -211,7 +215,7 @@ ks_status_t blade_module_wss_on_load(blade_module_t **bmP, blade_handle_t *bh)
        return KS_STATUS_SUCCESS;
 }
 
-ks_status_t blade_module_wss_on_unload(blade_module_t *bm)
+KS_DECLARE(ks_status_t) blade_module_wss_on_unload(blade_module_t *bm)
 {
        blade_module_wss_t *bm_wss = NULL;
 
@@ -333,7 +337,7 @@ ks_status_t blade_module_wss_config(blade_module_wss_t *bm_wss, config_setting_t
        return KS_STATUS_SUCCESS;
 }
 
-ks_status_t blade_module_wss_on_startup(blade_module_t *bm, config_setting_t *config)
+KS_DECLARE(ks_status_t) blade_module_wss_on_startup(blade_module_t *bm, config_setting_t *config)
 {
        blade_module_wss_t *bm_wss = NULL;
        
@@ -373,7 +377,7 @@ ks_status_t blade_module_wss_on_startup(blade_module_t *bm, config_setting_t *co
        return KS_STATUS_SUCCESS;
 }
 
-ks_status_t blade_module_wss_on_shutdown(blade_module_t *bm)
+KS_DECLARE(ks_status_t) blade_module_wss_on_shutdown(blade_module_t *bm)
 {
        blade_module_wss_t *bm_wss = NULL;
        blade_transport_wss_t *bt_wss = NULL;
index ef2ba88de78dab428802eec9dfe6af30998e23ac..706a8e892ccf477eb2956f9df9b03ff240c32d97 100644 (file)
@@ -39,6 +39,12 @@ KS_BEGIN_EXTERN_C
 KS_DECLARE(ks_status_t) blade_module_create(blade_module_t **bmP, blade_handle_t *bh, void *module_data, blade_module_callbacks_t *module_callbacks);
 KS_DECLARE(ks_status_t) blade_module_destroy(blade_module_t **bmP);
 KS_DECLARE(void *) blade_module_data_get(blade_module_t *bm);
+
+// @todo very temporary, this is just here to get the wss module loaded until DSO is in place
+KS_DECLARE(ks_status_t) blade_module_wss_on_load(blade_module_t **bmP, blade_handle_t *bh);
+KS_DECLARE(ks_status_t) blade_module_wss_on_unload(blade_module_t *bm);
+KS_DECLARE(ks_status_t) blade_module_wss_on_startup(blade_module_t *bm, config_setting_t *config);
+KS_DECLARE(ks_status_t) blade_module_wss_on_shutdown(blade_module_t *bm);
 KS_END_EXTERN_C
 
 #endif
index 1b7243bca84696e7c2e30f1442080aa7832914eb..b2abc8b11b14829d1c5d69bb17802dff92dd8739 100644 (file)
@@ -45,6 +45,7 @@ int main(int argc, char **argv)
        blade_handle_t *bh = NULL;
        config_t config;
        config_setting_t *config_blade = NULL;
+       blade_module_t *mod_wss = NULL;
 
        ks_global_set_default_logger(KS_LOG_LEVEL_DEBUG);
        
@@ -75,7 +76,14 @@ int main(int argc, char **argv)
                return EXIT_FAILURE;
        }
 
-       // @todo get to wss module callbacks, call onload to kick off registration
+       if (blade_module_wss_on_load(&mod_wss, bh) != KS_STATUS_SUCCESS) {
+               ks_log(KS_LOG_ERROR, "Blade WSS module load failed\n");
+               return EXIT_FAILURE;
+       }
+       if (blade_module_wss_on_startup(mod_wss, config_blade) != KS_STATUS_SUCCESS) {
+               ks_log(KS_LOG_ERROR, "Blade WSS module startup failed\n");
+               return EXIT_FAILURE;
+       }
 
        loop(bh);