]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
[mod_event_zmq] Remove from tree 2728/head
authorAndrey Volk <andywolk@gmail.com>
Mon, 23 Dec 2024 17:13:56 +0000 (20:13 +0300)
committerAndrey Volk <andywolk@gmail.com>
Tue, 14 Jan 2025 22:49:24 +0000 (01:49 +0300)
build/modules.conf.in
build/modules.conf.most
conf/vanilla/autoload_configs/modules.conf.xml
configure.ac
debian/bootstrap.sh
debian/control-modules
freeswitch.spec
src/mod/event_handlers/mod_event_zmq/Makefile.am [deleted file]
src/mod/event_handlers/mod_event_zmq/mod_event_zmq.cpp [deleted file]
src/mod/event_handlers/mod_event_zmq/mod_event_zmq.h [deleted file]

index 9c63ccdb236ee0ff923ff20e171592eb4dc62ca8..d30c5f0177aea22eb66e9041b97cc8738f85d154 100755 (executable)
@@ -91,7 +91,6 @@ event_handlers/mod_event_socket
 #event_handlers/mod_odbc_cdr
 #event_handlers/mod_smpp
 #event_handlers/mod_snmp
-#event_handlers/mod_event_zmq
 #formats/mod_imagick
 formats/mod_local_stream
 formats/mod_native_file
index 8f8a8e2f14db212d6a9148d5d2ba775300959a8b..40a61c8daadd34f357dbdb90c1a047331ab9fb53 100755 (executable)
@@ -88,7 +88,6 @@ event_handlers/mod_format_cdr
 event_handlers/mod_json_cdr
 event_handlers/mod_odbc_cdr
 event_handlers/mod_snmp
-#event_handlers/mod_event_zmq
 formats/mod_imagick
 formats/mod_local_stream
 formats/mod_native_file
index 19581f57db07b150db84fc8a812ae8bdf995168e..6363e233cbe663abf855a5db080418ba87222157 100755 (executable)
@@ -24,7 +24,6 @@
     <!-- <load module="mod_cdr_sqlite"/> -->
     <!-- <load module="mod_event_multicast"/> -->
     <load module="mod_event_socket"/>
-    <!-- <load module="mod_event_zmq"/> -->
     <!-- <load module="mod_zeroconf"/> -->
     <!-- <load module="mod_erlang_event"/> -->
     <!-- <load module="mod_smpp"/> -->
index 49232f5c6009e7d0c9adcf065c4e67ab00a74eef..74743532058880116050caf13b308a9d3ff46ef6 100755 (executable)
@@ -2188,7 +2188,6 @@ AC_CONFIG_FILES([Makefile
                src/mod/event_handlers/mod_odbc_cdr/Makefile
                src/mod/event_handlers/mod_smpp/Makefile
                src/mod/event_handlers/mod_snmp/Makefile
-               src/mod/event_handlers/mod_event_zmq/Makefile
                src/mod/formats/mod_imagick/Makefile
                src/mod/formats/mod_local_stream/Makefile
                src/mod/formats/mod_native_file/Makefile
index fcb007735f866eff45a0ac4c9c0e4564f90e598f..ce5adea315ef2a5aea637f3de30f175472d242d9 100755 (executable)
@@ -46,7 +46,6 @@ avoid_mods=(
   endpoints/mod_opal
   endpoints/mod_reference
   event_handlers/mod_smpp
-  event_handlers/mod_event_zmq
   formats/mod_webm
   sdk/autotools
   xml_int/mod_xml_ldap
index bf0d7008719b82e724d972f25801f829037f9db7..101fab9e084a81b3a35549ff8588812cdea80b21 100755 (executable)
@@ -440,10 +440,6 @@ Module: event_handlers/mod_event_test
 Description: mod_event_test
  Adds mod_event_test.
 
-Module: event_handlers/mod_event_zmq
-Description: mod_event_zmq
- Adds mod_event_zmq.
-
 Module: event_handlers/mod_format_cdr
 Description: mod_format_cdr
  Adds mod_format_cdr.
index 495e8f15649573c718a7c54840f0966588dea779..1d98356588d73eccedd5eb5bfde179902ce8f82b 100755 (executable)
@@ -830,14 +830,6 @@ Requires:  %{name} = %{version}-%{release}
 %description event-multicast
 Multicast Event System for FreeSWITCH.
 
-#%package event-zmq
-#Summary:      ZeroMQ Event System for the FreeSWITCH open source telephony platform
-#Group:                System/Libraries
-#Requires:      %{name} = %{version}-%{release}
-#
-#%description event-zmq
-#ZeroMQ Event System for FreeSWITCH.
-
 %package event-json-cdr
 Summary:       JSON CDR Logger for the FreeSWITCH open source telephony platform
 Group:         System/Libraries
@@ -1295,7 +1287,6 @@ EVENT_HANDLERS_MODULES="event_handlers/mod_cdr_csv event_handlers/mod_cdr_pg_csv
                        event_handlers/mod_event_socket event_handlers/mod_json_cdr \
                        event_handlers/mod_snmp"
 
-#### BUILD ISSUES NET RESOLVED FOR RELEASE event_handlers/mod_event_zmq 
 ######################################################################################################################
 #
 #                                      File and Audio Format Handlers
@@ -2026,9 +2017,6 @@ fi
 %files event-multicast
 %{MODINSTDIR}/mod_event_multicast.so*
 
-#%files event-zmq
-#%{MODINSTDIR}/mod_xmq.so*
-
 %files event-json-cdr
 %{MODINSTDIR}/mod_json_cdr.so*
 
diff --git a/src/mod/event_handlers/mod_event_zmq/Makefile.am b/src/mod/event_handlers/mod_event_zmq/Makefile.am
deleted file mode 100644 (file)
index 1b171a6..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-include $(top_srcdir)/build/modmake.rulesam
-MODNAME=mod_event_zmq
-ZMQ=zeromq-2.1.9
-
-ZMQ_BASEURL=http://download.zeromq.org
-ZMQ_BASEURL_ALT=http://download.zeromq.org/historic
-
-ZMQ_DIR=$(switch_srcdir)/libs/$(ZMQ)
-ZMQ_BUILDDIR=$(switch_builddir)/libs/$(ZMQ)
-ZMQ_LA=$(ZMQ_BUILDDIR)/src/libzmq.la
-
-mod_LTLIBRARIES = mod_event_zmq.la
-mod_event_zmq_la_SOURCES  = mod_event_zmq.cpp
-mod_event_zmq_la_CFLAGS   = $(AM_CFLAGS)
-mod_event_zmq_la_CPPFLAGS = $(AM_CPPFLAGS) -I$(ZMQ_DIR)/include -I$(switch_srcdir)/libs/libteletone/src/
-mod_event_zmq_la_LIBADD   = $(switch_builddir)/libfreeswitch.la $(ZMQ_LA)
-mod_event_zmq_la_LDFLAGS  = -avoid-version -module -no-undefined -shared
-
-BUILT_SOURCES=$(ZMQ_LA)
-
-$(ZMQ_DIR):
-       $(GETLIB) $(ZMQ_BASEURL) $(ZMQ).tar.gz || $(GETLIB) $(ZMQ_BASEURL_ALT) $(ZMQ).tar.gz
-       sed -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' $(ZMQ_DIR)/configure.in > $(ZMQ_DIR)/configure.in.tmp && \
-               mv $(ZMQ_DIR)/configure.in.tmp $(ZMQ_DIR)/configure.in
-       cd $(ZMQ_DIR) && ./autogen.sh
-
-$(ZMQ_BUILDDIR)/Makefile: $(ZMQ_DIR)
-       mkdir -p $(ZMQ_BUILDDIR)
-       cd $(ZMQ_BUILDDIR) && $(DEFAULT_VARS) $(ZMQ_DIR)/configure $(DEFAULT_ARGS) --srcdir=$(ZMQ_DIR)
-       $(TOUCH_TARGET)
-
-$(ZMQ_LA): $(ZMQ_BUILDDIR)/Makefile
-       cd $(ZMQ_BUILDDIR) && $(MAKE)
-       $(TOUCH_TARGET)
diff --git a/src/mod/event_handlers/mod_event_zmq/mod_event_zmq.cpp b/src/mod/event_handlers/mod_event_zmq/mod_event_zmq.cpp
deleted file mode 100644 (file)
index b7f517b..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-#include <switch.h>
-#include <zmq.hpp>
-#include <exception>
-#include <stdexcept>
-#include <memory>
-
-#include "mod_event_zmq.h"
-
-namespace mod_event_zmq {
-
-// Handles publishing events out to clients
-class ZmqEventPublisher {
-public:
-       ZmqEventPublisher(zmq::context_t &context) :
-               _publisher(context, ZMQ_PUB)
-       {
-               _publisher.bind("tcp://*:5556");
-
-               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Listening for clients\n");
-       }
-
-       void PublishEvent(const switch_event_t *event) {
-               // Serialize the event into a JSON string
-               char* pjson;
-               switch_event_serialize_json(const_cast<switch_event_t*>(event), &pjson);
-
-               // Use the JSON string as the message body
-               zmq::message_t msg(pjson, strlen(pjson), free_message_data, NULL);
-
-               // Send the message
-               _publisher.send(msg);
-       }
-
-private:
-       static void free_message_data(void *data, void *hint) {
-               free (data);
-       }
-
-       zmq::socket_t _publisher;
-};
-
-class char_msg : public zmq::message_t {
-public:
-       char_msg() : zmq::message_t(sizeof(char)) { }
-       char_msg(char data) : zmq::message_t(sizeof(char)) {
-               *char_data() = data;
-       }
-
-       char* char_data() {
-               return static_cast<char*>(this->data());
-       }
-};
-
-// Handles global inititalization and teardown of the module
-class ZmqModule {
-public:
-       ZmqModule(switch_loadable_module_interface_t **module_interface, switch_memory_pool_t *pool) :
-               _context(1), _term_rep(_context, ZMQ_REP), _term_req(_context, ZMQ_REQ), _publisher(_context) {
-
-               // Set up the term messaging connection
-               _term_rep.bind(TERM_URI);
-               _term_req.connect(TERM_URI);
-
-               // Subscribe to all switch events of any subclass
-               // Store a pointer to ourself in the user data
-               if (switch_event_bind_removable(modname, SWITCH_EVENT_ALL, SWITCH_EVENT_SUBCLASS_ANY, event_handler, static_cast<void*>(&_publisher), &_node)
-                               != SWITCH_STATUS_SUCCESS) {
-                       throw std::runtime_error("Couldn't bind to switch events.");
-               }
-               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Subscribed to events\n");
-
-               // Create our module interface registration
-               *module_interface = switch_loadable_module_create_module_interface(pool, modname);
-
-               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Module loaded\n");
-       }
-
-       void Listen() {
-               // All we do is sit here and block the run loop thread so it doesn't return
-               // it seems that if you want to keep your module running you can't return from the run loop
-
-               char_msg msg;
-               while(true) {
-                       // Listen for term message
-                       switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Entered run loop, waiting for term message\n");
-                       _term_rep.recv(&msg);
-                       if(*msg.char_data() == MODULE_TERM_REQ_MESSAGE) {
-                               // Ack term message
-                               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Got term message, sending ack and leaving run loop\n");
-
-                               *msg.char_data() = MODULE_TERM_ACK_MESSAGE;
-                               _term_rep.send(msg);
-
-                               break;
-                       }
-               }
-       }
-
-       void Shutdown() {
-               // Send term message
-               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Shutdown requested, sending term message to runloop\n");
-               char_msg msg(MODULE_TERM_REQ_MESSAGE);
-               _term_req.send(msg);
-
-               while(true) {
-                       // Wait for the term ack message
-                       _term_req.recv(&msg);
-                       if(*msg.char_data() == MODULE_TERM_ACK_MESSAGE) {
-                               // Continue shutdown
-                               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Got term ack message, continuing shutdown\n");
-                               break;
-                       }
-               }
-       }
-
-       ~ZmqModule() {
-               // Unsubscribe from the switch events
-               switch_event_unbind(&_node);
-               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Module shut down\n");
-       }
-
-private:
-       // Dispatches events to the publisher
-       static void event_handler(switch_event_t *event) {
-               try {
-                       ZmqEventPublisher *publisher = static_cast<ZmqEventPublisher*>(event->bind_user_data);
-                       publisher->PublishEvent(event);
-               } catch(std::exception ex) {
-                       switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Error publishing event via 0MQ: %s\n", ex.what());
-               } catch(...) { // Exceptions must not propogate to C caller
-                       switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Unknown error publishing event via 0MQ\n");
-               }
-       }
-
-       switch_event_node_t *_node;
-
-       zmq::context_t _context;
-       zmq::socket_t _term_rep;
-       zmq::socket_t _term_req;
-
-       ZmqEventPublisher _publisher;
-};
-
-//*****************************//
-//           GLOBALS           //
-//*****************************//
-std::auto_ptr<ZmqModule> module;
-
-
-//*****************************//
-//  Module interface funtions  //
-//*****************************//
-SWITCH_MODULE_LOAD_FUNCTION(load) {
-       try {
-               module.reset(new ZmqModule(module_interface, pool));
-               return SWITCH_STATUS_SUCCESS;
-       } catch(...) { // Exceptions must not propogate to C caller
-               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error loading 0MQ module\n");
-               return SWITCH_STATUS_GENERR;
-       }
-
-}
-
-SWITCH_MODULE_RUNTIME_FUNCTION(runtime) {
-       try {
-               // Begin listening for clients
-               module->Listen();
-       } catch(std::exception &ex) {
-               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error listening for clients: %s\n", ex.what());
-       } catch(...) { // Exceptions must not propogate to C caller
-               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Unknown error listening for clients\n");
-       }
-
-       // Tell the switch to stop calling this runtime loop
-       return SWITCH_STATUS_TERM;
-}
-
-SWITCH_MODULE_SHUTDOWN_FUNCTION(shutdown) {
-       try {
-               // Tell the module to shutdown
-               module->Shutdown();
-
-               // Free the module object
-               module.reset();
-       } catch(std::exception &ex) {
-               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error shutting down module: %s\n", ex.what());
-       } catch(...) { // Exceptions must not propogate to C caller
-               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Unknown error shutting down module\n");
-       }
-       return SWITCH_STATUS_SUCCESS;
-}
-
-}
diff --git a/src/mod/event_handlers/mod_event_zmq/mod_event_zmq.h b/src/mod/event_handlers/mod_event_zmq/mod_event_zmq.h
deleted file mode 100644 (file)
index a60c720..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef MOD_EVENT_ZMQ_H
-#define MOD_EVENT_ZMQ_H
-
-namespace mod_event_zmq {
-static const char MODULE_TERM_REQ_MESSAGE = 1;
-static const char MODULE_TERM_ACK_MESSAGE = 2;
-
-static const char *TERM_URI = "inproc://mod_event_zmq_term";
-
-SWITCH_MODULE_LOAD_FUNCTION(load);
-SWITCH_MODULE_SHUTDOWN_FUNCTION(shutdown);
-SWITCH_MODULE_RUNTIME_FUNCTION(runtime);
-
-extern "C" {
-SWITCH_MODULE_DEFINITION(mod_event_zmq, load, shutdown, runtime);
-};
-
-}
-
-#endif // MOD_EVENT_ZMQ_H