You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@celix.apache.org by rl...@apache.org on 2019/07/28 11:00:50 UTC

[celix] 02/03: Added celix containers for TCP PSA

This is an automated email from the ASF dual-hosted git repository.

rlenferink pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/celix.git

commit 824247ecaf9a1ccb08b22af6a1d6ae9f2fe05d95
Author: Roy Lenferink <le...@gmail.com>
AuthorDate: Sun Jul 28 11:44:58 2019 +0200

    Added celix containers for TCP PSA
---
 bundles/pubsub/CMakeLists.txt          | 42 ++++++++--------
 bundles/pubsub/examples/CMakeLists.txt | 90 ++++++++++++++++++++++++++++++----
 2 files changed, 102 insertions(+), 30 deletions(-)

diff --git a/bundles/pubsub/CMakeLists.txt b/bundles/pubsub/CMakeLists.txt
index 33cff8e..0373347 100644
--- a/bundles/pubsub/CMakeLists.txt
+++ b/bundles/pubsub/CMakeLists.txt
@@ -20,30 +20,30 @@ if (PUBSUB)
 
     option(BUILD_PUBSUB_PSA_ZMQ "Build ZeroMQ PubSub Admin (LGPL License)" OFF)
     if (BUILD_PUBSUB_PSA_ZMQ)
-		message(WARNING "Celix will now contain a dependency with a LGPL License (ZeroMQ). For more information about this, consult the pubsub/README.md file.")
-		option(BUILD_ZMQ_SECURITY "Build with security for ZeroMQ." OFF)
+        message(WARNING "Celix will now contain a dependency with a LGPL License (ZeroMQ). For more information about this, consult the pubsub/README.md file.")
+        option(BUILD_ZMQ_SECURITY "Build with security for ZeroMQ." OFF)
     endif (BUILD_PUBSUB_PSA_ZMQ)
 
-	option(BUILD_PUBSUB_PSA_NANOMSG "Build NanoMsg PubSub Admin - Experimental" OFF)
-	add_subdirectory(pubsub_api)
-	add_subdirectory(pubsub_spi)
-	add_subdirectory(pubsub_topology_manager)
-	add_subdirectory(pubsub_discovery)
-	add_subdirectory(pubsub_serializer_json)
-	add_subdirectory(pubsub_admin_zmq)
-	add_subdirectory(pubsub_admin_tcp)
-	add_subdirectory(pubsub_admin_nanomsg)
-	add_subdirectory(pubsub_admin_udp_mc)
-	add_subdirectory(keygen)
-	add_subdirectory(mock)
+    option(BUILD_PUBSUB_PSA_NANOMSG "Build NanoMsg PubSub Admin - Experimental" OFF)
+    add_subdirectory(pubsub_api)
+    add_subdirectory(pubsub_spi)
+    add_subdirectory(pubsub_topology_manager)
+    add_subdirectory(pubsub_discovery)
+    add_subdirectory(pubsub_serializer_json)
+    add_subdirectory(pubsub_admin_zmq)
+    add_subdirectory(pubsub_admin_tcp)
+    add_subdirectory(pubsub_admin_nanomsg)
+    add_subdirectory(pubsub_admin_udp_mc)
+    add_subdirectory(keygen)
+    add_subdirectory(mock)
 
-	add_subdirectory(examples)
+    add_subdirectory(examples)
 
-	if (ENABLE_TESTING)
-		option(BUILD_PUBSUB_TESTS "Enable Tests for PUBSUB" OFF)
-	endif()
-	if (ENABLE_TESTING AND BUILD_PUBSUB_TESTS)
-		add_subdirectory(test)
-	endif()
+    if (ENABLE_TESTING)
+        option(BUILD_PUBSUB_TESTS "Enable Tests for PUBSUB" OFF)
+    endif()
+    if (ENABLE_TESTING AND BUILD_PUBSUB_TESTS)
+        add_subdirectory(test)
+    endif()
 
 endif(PUBSUB)
diff --git a/bundles/pubsub/examples/CMakeLists.txt b/bundles/pubsub/examples/CMakeLists.txt
index 3b96478..e6b8cad 100644
--- a/bundles/pubsub/examples/CMakeLists.txt
+++ b/bundles/pubsub/examples/CMakeLists.txt
@@ -45,7 +45,7 @@ add_celix_container(pubsub_publisher_udp_mc
 target_link_libraries(pubsub_publisher_udp_mc PRIVATE ${PUBSUB_CONTAINER_LIBS})
 
 add_celix_container(pubsub_subscriber_udp_mc
-    GROUP "pubsub"
+    GROUP pubsub
     BUNDLES
         Celix::log_service
         Celix::shell
@@ -62,9 +62,8 @@ add_celix_container(pubsub_subscriber_udp_mc
 )
 target_link_libraries(pubsub_subscriber_udp_mc PRIVATE ${PUBSUB_CONTAINER_LIBS})
 
-
 add_celix_container(pubsub_subscriber2_udp_mc
-    GROUP "pubsub"
+    GROUP pubsub
     BUNDLES
         Celix::log_service
         Celix::shell
@@ -82,7 +81,7 @@ add_celix_container(pubsub_subscriber2_udp_mc
 target_link_libraries(pubsub_subscriber2_udp_mc PRIVATE ${PUBSUB_CONTAINER_LIBS})
 
 if (ETCD_CMD AND XTERM_CMD)
-    #Runtime starting a publish and subscriber for udp mc
+    # Runtime starting a publish and subscriber for udp mc
     add_celix_runtime(pubsub_rt_upd_mc
         NAME udp_mc
         GROUP pubsub
@@ -96,13 +95,84 @@ if (ETCD_CMD AND XTERM_CMD)
     )
 endif ()
 
+# TCP
+add_celix_container(pubsub_publisher_tcp
+        GROUP pubsub
+        BUNDLES
+            Celix::log_service
+            Celix::shell
+            Celix::shell_tui
+            Celix::pubsub_serializer_json
+            Celix::pubsub_discovery_etcd
+            Celix::pubsub_topology_manager
+            Celix::pubsub_admin_tcp
+            celix_pubsub_poi_publisher
+            celix_pubsub_poi_publisher2
+        PROPERTIES
+            PSA_TCP_VERBOSE=true
+            PUBSUB_ETCD_DISCOVERY_VERBOSE=true
+            PUBSUB_TOPOLOGY_MANAGER_VERBOSE=true
+)
+target_link_libraries(pubsub_publisher_tcp PRIVATE ${PUBSUB_CONTAINER_LIBS})
+
+add_celix_container(pubsub_subscriber_tcp
+        GROUP pubsub
+        BUNDLES
+            Celix::log_service
+            Celix::shell
+            Celix::shell_tui
+            Celix::pubsub_serializer_json
+            Celix::pubsub_discovery_etcd
+            Celix::pubsub_topology_manager
+            Celix::pubsub_admin_tcp
+            celix_pubsub_poi_subscriber
+        PROPERTIES
+            PSA_TCP_VERBOSE=true
+            PUBSUB_ETCD_DISCOVERY_VERBOSE=true
+            PUBSUB_TOPOLOGY_MANAGER_VERBOSE=true
+)
+target_link_libraries(pubsub_subscriber_tcp PRIVATE ${PUBSUB_CONTAINER_LIBS})
+
+add_celix_container(pubsub_subscriber2_tcp
+        GROUP pubsub
+        BUNDLES
+            Celix::log_service
+            Celix::shell
+            Celix::shell_tui
+            Celix::pubsub_serializer_json
+            Celix::pubsub_discovery_etcd
+            Celix::pubsub_topology_manager
+            Celix::pubsub_admin_tcp
+            celix_pubsub_poi_subscriber
+        PROPERTIES
+            PSA_TCP_VERBOSE=true
+            PUBSUB_ETCD_DISCOVERY_VERBOSE=true
+            PUBSUB_TOPOLOGY_MANAGER_VERBOSE=true
+)
+target_link_libraries(pubsub_subscriber2_tcp PRIVATE ${PUBSUB_CONTAINER_LIBS})
+
+if (ETCD_CMD AND XTERM_CMD)
+    # Runtime starting a publish and subscriber for tcp
+    add_celix_runtime(pubsub_rt_tcp
+            NAME tcp
+            GROUP pubsub
+            CONTAINERS
+                pubsub_publisher_tcp
+                pubsub_subscriber_tcp
+                pubsub_subscriber2_tcp
+            COMMANDS
+                etcd
+            USE_TERM
+    )
+endif ()
+
 if (BUILD_PUBSUB_PSA_ZMQ)
     find_package(ZMQ REQUIRED)
     find_package(CZMQ REQUIRED)
 
     set(PUBSUB_CONTAINER_LIBS ${PUBSUB_CONTAINER_LIBS} ${ZMQ_LIBRARIES} ${CZMQ_LIBRARIES} ${OPENSSL_CRYPTO_LIBRARY})
 
-    # Dynamic ZMQ / UDP admin
+    # Dynamic ZMQ / UDP / TCP admin
     add_celix_container(pubsub_publisher
         GROUP "pubsub"
         BUNDLES
@@ -113,6 +183,7 @@ if (BUILD_PUBSUB_PSA_ZMQ)
             Celix::pubsub_topology_manager
             Celix::pubsub_admin_zmq
             Celix::pubsub_admin_udp_multicast
+            Celix::pubsub_admin_tcp
             celix_pubsub_poi_publisher
             celix_pubsub_poi_publisher2
     )
@@ -128,12 +199,13 @@ if (BUILD_PUBSUB_PSA_ZMQ)
             Celix::pubsub_topology_manager
             Celix::pubsub_admin_zmq
             Celix::pubsub_admin_udp_multicast
+            Celix::pubsub_admin_tcp
             celix_pubsub_poi_subscriber
     )
     target_link_libraries(pubsub_subscriber PRIVATE ${PUBSUB_CONTAINER_LIBS})
 
     # ZMQ
-    add_celix_container("pubsub_zmq"
+    add_celix_container(pubsub_zmq
         GROUP "pubsub"
         BUNDLES
             Celix::shell
@@ -149,7 +221,7 @@ if (BUILD_PUBSUB_PSA_ZMQ)
     )
     target_link_libraries(pubsub_zmq PRIVATE ${PUBSUB_CONTAINER_LIBS})
 
-    add_celix_container("pubsub_publisher_zmq"
+    add_celix_container(pubsub_publisher_zmq
         GROUP "pubsub"
         BUNDLES
             Celix::shell
@@ -234,7 +306,7 @@ endif()
 if (BUILD_PUBSUB_PSA_NANOMSG)
     set(PUBSUB_CONTAINER_LIBS ${NANOMSG_LIBRARIES} ${PUBSUB_CONTAINER_LIBS})
 
-    add_celix_container("pubsub_publisher1_nanomsg"
+    add_celix_container(pubsub_publisher1_nanomsg
         GROUP "pubsub"
         BUNDLES
             Celix::shell
@@ -251,7 +323,7 @@ if (BUILD_PUBSUB_PSA_NANOMSG)
     )
     target_link_libraries(pubsub_publisher1_nanomsg PRIVATE ${PUBSUB_CONTAINER_LIBS})
 
-    add_celix_container("pubsub_publisher2_nanomsg"
+    add_celix_container(pubsub_publisher2_nanomsg
         GROUP "pubsub"
         BUNDLES
             Celix::shell