diff --git a/irobot_benchmark/CMakeLists.txt b/irobot_benchmark/CMakeLists.txt
index 54f80f85..2f1ecb58 100644
--- a/irobot_benchmark/CMakeLists.txt
+++ b/irobot_benchmark/CMakeLists.txt
@@ -24,20 +24,90 @@ install(TARGETS
DESTINATION lib/${PROJECT_NAME}
)
-set(TOPOLOGY_FILES
- topology/sierra_nevada.json
- topology/cedar.json
- topology/mont_blanc.json
- topology/white_mountain.json
- topology/debug_sierra_nevada_reliable.json
- topology/debug_sierra_nevada_best_effort.json
- topology/debug_mont_blanc_reliable.json
- topology/debug_mont_blanc_best_effort.json
+set(FT topology/full_topologies)
+
+set(TEST_TOPOLOGY_FILES
+ ${FT}/cedar.json
+ ${FT}/debug_mont_blanc_best_effort.json
+ ${FT}/debug_mont_blanc_reliable.json
+ ${FT}/debug_sierra_nevada_best_effort.json
+ ${FT}/debug_sierra_nevada_reliable.json
+ ${FT}/debug_white_mountain_best_effort.json
+ ${FT}/mont_blanc.json
+ ${FT}/sierra_nevada.json
+ ${FT}/sierra_nevada_fixed_size.json
+ ${FT}/debug_sierra_nevada_fixed_size_best_effort.json
+ ${FT}/sierra_nevada_fixed_size_loaned.json
+ ${FT}/sierra_nevada_loaned.json
+ ${FT}/white_mountain.json
+ ${FT}/white_mountain_fixed_size.json
+ ${FT}/debug_white_mountain_fixed_size_best_effort.json
+ ${FT}/white_mountain_fixed_size_loaned.json
+ ${FT}/white_mountain_loaned.json
+)
+
+install(FILES
+ ${TEST_TOPOLOGY_FILES}
+ DESTINATION lib/${PROJECT_NAME}/${FT})
+
+set(SP topology/single_process)
+
+set(TOPOLOGY_FILES_SINGLE_PROCESS
+ ${SP}/pub_sub_loaned_10b.json
+ ${SP}/pub_sub_loaned_100kb.json
+ ${SP}/pub_sub_loaned_1mb.json
+ ${SP}/pub_sub_loaned_4mb.json
+
+ ${SP}/pub_sub_10b_ipc_on.json
+ ${SP}/pub_sub_100kb_ipc_on.json
+ ${SP}/pub_sub_1mb_ipc_on.json
+ ${SP}/pub_sub_4mb_ipc_on.json
+
+ ${SP}/pub_sub_10b_ipc_off.json
+ ${SP}/pub_sub_100kb_ipc_off.json
+ ${SP}/pub_sub_1mb_ipc_off.json
+ ${SP}/pub_sub_4mb_ipc_off.json
)
install(FILES
- ${TOPOLOGY_FILES}
- DESTINATION lib/${PROJECT_NAME}/topology)
+ ${TOPOLOGY_FILES_SINGLE_PROCESS}
+ DESTINATION lib/${PROJECT_NAME}/${SP})
+
+set(MP topology/multi_process)
+
+set(TOPOLOGY_FILES_MULTI_PROCESS
+ ${MP}/pub_ipc_off_10b.json
+ ${MP}/pub_ipc_off_100kb.json
+ ${MP}/pub_ipc_off_1mb.json
+ ${MP}/pub_ipc_off_4mb.json
+
+ ${MP}/sub_ipc_off_10b.json
+ ${MP}/sub_ipc_off_100kb.json
+ ${MP}/sub_ipc_off_1mb.json
+ ${MP}/sub_ipc_off_4mb.json
+
+ ${MP}/pub_loaned_10b.json
+ ${MP}/pub_loaned_100kb.json
+ ${MP}/pub_loaned_1mb.json
+ ${MP}/pub_loaned_4mb.json
+
+ ${MP}/sub_loaned_10b.json
+ ${MP}/sub_loaned_100kb.json
+ ${MP}/sub_loaned_1mb.json
+ ${MP}/sub_loaned_4mb.json
+)
+
+install(FILES
+ ${TOPOLOGY_FILES_MULTI_PROCESS}
+ DESTINATION lib/${PROJECT_NAME}/${MP})
+
+set(PROFILES
+ profiles/ignore_local_endpoints.xml
+ profiles/shared_memory_fastdds_config.xml)
+
+install(FILES
+ ${PROFILES}
+ DESTINATION lib/${PROJECT_NAME}/profiles)
if(BUILD_TESTING)
find_package(ament_lint_auto REQUIRED)
diff --git a/irobot_benchmark/profiles/ignore_local_endpoints.xml b/irobot_benchmark/profiles/ignore_local_endpoints.xml
new file mode 100644
index 00000000..a9361e2f
--- /dev/null
+++ b/irobot_benchmark/profiles/ignore_local_endpoints.xml
@@ -0,0 +1,44 @@
+
+
+
+ OFF
+
+
+
+
+ UDP
+ UDPv4
+
+
+
+
+
+ UDP
+
+ false
+
+
+
+
+
+
+ fastdds.match_local_endpoints
+ false
+ false
+
+
+
+
+
+
+
+
+ fastdds.match_local_endpoints
+ false
+ false
+
+
+
+
+
+
\ No newline at end of file
diff --git a/irobot_benchmark/profiles/shared_memory_fastdds_config.xml b/irobot_benchmark/profiles/shared_memory_fastdds_config.xml
new file mode 100644
index 00000000..7dfd529f
--- /dev/null
+++ b/irobot_benchmark/profiles/shared_memory_fastdds_config.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+ ASYNCHRONOUS
+
+
+ AUTOMATIC
+
+
+ PREALLOCATED_WITH_REALLOC
+
+
+
+
+
+ AUTOMATIC
+
+
+ PREALLOCATED_WITH_REALLOC
+
+
+
\ No newline at end of file
diff --git a/irobot_benchmark/topology/cedar.json b/irobot_benchmark/topology/full_topologies/cedar.json
similarity index 100%
rename from irobot_benchmark/topology/cedar.json
rename to irobot_benchmark/topology/full_topologies/cedar.json
diff --git a/irobot_benchmark/topology/debug_mont_blanc_best_effort.json b/irobot_benchmark/topology/full_topologies/debug_mont_blanc_best_effort.json
similarity index 100%
rename from irobot_benchmark/topology/debug_mont_blanc_best_effort.json
rename to irobot_benchmark/topology/full_topologies/debug_mont_blanc_best_effort.json
diff --git a/irobot_benchmark/topology/debug_mont_blanc_reliable.json b/irobot_benchmark/topology/full_topologies/debug_mont_blanc_reliable.json
similarity index 100%
rename from irobot_benchmark/topology/debug_mont_blanc_reliable.json
rename to irobot_benchmark/topology/full_topologies/debug_mont_blanc_reliable.json
diff --git a/irobot_benchmark/topology/debug_sierra_nevada_best_effort.json b/irobot_benchmark/topology/full_topologies/debug_sierra_nevada_best_effort.json
similarity index 100%
rename from irobot_benchmark/topology/debug_sierra_nevada_best_effort.json
rename to irobot_benchmark/topology/full_topologies/debug_sierra_nevada_best_effort.json
diff --git a/irobot_benchmark/topology/full_topologies/debug_sierra_nevada_fixed_size_best_effort.json b/irobot_benchmark/topology/full_topologies/debug_sierra_nevada_fixed_size_best_effort.json
new file mode 100644
index 00000000..7ac0cd84
--- /dev/null
+++ b/irobot_benchmark/topology/full_topologies/debug_sierra_nevada_fixed_size_best_effort.json
@@ -0,0 +1,22 @@
+{
+ "nodes": [
+ {
+ "node_name": "debug_node",
+ "subscribers":[
+ {"topic_name":"amazon", "msg_type":"stamped9_float32", "qos_reliability":"best_effort"},
+ {"topic_name":"arkansas", "msg_type":"stamped4_int32", "qos_reliability":"best_effort"},
+ {"topic_name":"congo", "msg_type":"stamped4_int32", "qos_reliability":"best_effort"},
+ {"topic_name":"danube", "msg_type":"stamped_int64", "qos_reliability":"best_effort"},
+ {"topic_name":"ganges", "msg_type":"stamped4_int32", "qos_reliability":"best_effort"},
+ {"topic_name":"lena", "msg_type":"stamped50b", "qos_reliability":"best_effort"},
+ {"topic_name":"mekong", "msg_type":"stamped100b", "qos_reliability":"best_effort"},
+ {"topic_name":"missouri", "msg_type":"stamped10kb", "qos_reliability":"best_effort"},
+ {"topic_name":"nile", "msg_type":"stamped4_int32", "qos_reliability":"best_effort"},
+ {"topic_name":"parana", "msg_type":"stamped3_float32", "qos_reliability":"best_effort"},
+ {"topic_name":"salween", "msg_type":"stamped12_float32", "qos_reliability":"best_effort"},
+ {"topic_name":"tigris", "msg_type":"stamped4_float32", "qos_reliability":"best_effort"},
+ {"topic_name":"volga", "msg_type":"stamped_int64", "qos_reliability":"best_effort"}
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/debug_sierra_nevada_reliable.json b/irobot_benchmark/topology/full_topologies/debug_sierra_nevada_reliable.json
similarity index 100%
rename from irobot_benchmark/topology/debug_sierra_nevada_reliable.json
rename to irobot_benchmark/topology/full_topologies/debug_sierra_nevada_reliable.json
diff --git a/irobot_benchmark/topology/full_topologies/debug_white_mountain_best_effort.json b/irobot_benchmark/topology/full_topologies/debug_white_mountain_best_effort.json
new file mode 100644
index 00000000..464d7ec4
--- /dev/null
+++ b/irobot_benchmark/topology/full_topologies/debug_white_mountain_best_effort.json
@@ -0,0 +1,33 @@
+{
+ "nodes": [
+ {
+ "node_name": "debug_node",
+ "subscribers":[
+ {"topic_name":"amazon", "msg_type":"stamped9_float32", "qos_reliability":"best_effort"},
+ {"topic_name":"arkansas", "msg_type":"stamped4_int32", "qos_reliability":"best_effort"},
+ {"topic_name":"brazos", "msg_type":"stamped_vector", "qos_reliability":"best_effort"},
+ {"topic_name":"chenab", "msg_type":"stamped1kb", "qos_reliability":"best_effort"},
+ {"topic_name":"colorado", "msg_type":"stamped4_int32", "qos_reliability":"best_effort"},
+ {"topic_name":"columbia", "msg_type":"stamped600kb", "qos_reliability":"best_effort"},
+ {"topic_name":"congo", "msg_type":"stamped4_int32", "qos_reliability":"best_effort"},
+ {"topic_name":"danube", "msg_type":"stamped_int64", "qos_reliability":"best_effort"},
+ {"topic_name":"ganges", "msg_type":"stamped4_int32", "qos_reliability":"best_effort"},
+ {"topic_name":"godavari", "msg_type":"stamped_vector", "qos_reliability":"best_effort"},
+ {"topic_name":"lena", "msg_type":"stamped_vector", "qos_reliability":"best_effort"},
+ {"topic_name":"loire", "msg_type":"stamped_vector", "qos_reliability":"best_effort"},
+ {"topic_name":"mekong", "msg_type":"stamped_vector", "qos_reliability":"best_effort"},
+ {"topic_name":"missouri", "msg_type":"stamped_vector", "qos_reliability":"best_effort"},
+ {"topic_name":"murray", "msg_type":"stamped_vector", "qos_reliability":"best_effort"},
+ {"topic_name":"nile", "msg_type":"stamped4_int32", "qos_reliability":"best_effort"},
+ {"topic_name":"ohio", "msg_type":"stamped100b", "qos_reliability":"best_effort"},
+ {"topic_name":"parana", "msg_type":"stamped3_float32", "qos_reliability":"best_effort"},
+ {"topic_name":"salween", "msg_type":"stamped12_float32", "qos_reliability":"best_effort"},
+ {"topic_name":"tagus", "msg_type":"stamped_vector", "qos_reliability":"best_effort"},
+ {"topic_name":"tigris", "msg_type":"stamped4_float32", "qos_reliability":"best_effort"},
+ {"topic_name":"volga", "msg_type":"stamped_int64", "qos_reliability":"best_effort"},
+ {"topic_name":"yamuna", "msg_type":"stamped4_int32", "qos_reliability":"best_effort"},
+ {"topic_name":"yamuna", "msg_type":"stamped4_int32", "qos_reliability":"best_effort"}
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/full_topologies/debug_white_mountain_fixed_size_best_effort.json b/irobot_benchmark/topology/full_topologies/debug_white_mountain_fixed_size_best_effort.json
new file mode 100644
index 00000000..9c4749d1
--- /dev/null
+++ b/irobot_benchmark/topology/full_topologies/debug_white_mountain_fixed_size_best_effort.json
@@ -0,0 +1,32 @@
+{
+ "nodes": [
+ {
+ "node_name": "debug_node",
+ "subscribers":[
+ {"topic_name":"amazon", "msg_type":"stamped9_float32", "qos_reliability":"best_effort"},
+ {"topic_name":"arkansas", "msg_type":"stamped4_int32", "qos_reliability":"best_effort"},
+ {"topic_name":"brazos", "msg_type":"stamped25kb", "qos_reliability":"best_effort"},
+ {"topic_name":"chenab", "msg_type":"stamped1kb", "qos_reliability":"best_effort"},
+ {"topic_name":"colorado", "msg_type":"stamped4_int32", "qos_reliability":"best_effort"},
+ {"topic_name":"columbia", "msg_type":"stamped600kb", "qos_reliability":"best_effort"},
+ {"topic_name":"congo", "msg_type":"stamped4_int32", "qos_reliability":"best_effort"},
+ {"topic_name":"danube", "msg_type":"stamped_int64", "qos_reliability":"best_effort"},
+ {"topic_name":"ganges", "msg_type":"stamped4_int32", "qos_reliability":"best_effort"},
+ {"topic_name":"godavari", "msg_type":"stamped5kb", "qos_reliability":"best_effort"},
+ {"topic_name":"lena", "msg_type":"stamped50b", "qos_reliability":"best_effort"},
+ {"topic_name":"loire", "msg_type":"stamped1kb", "qos_reliability":"best_effort"},
+ {"topic_name":"mekong", "msg_type":"stamped100b", "qos_reliability":"best_effort"},
+ {"topic_name":"missouri", "msg_type":"stamped10kb", "qos_reliability":"best_effort"},
+ {"topic_name":"murray", "msg_type":"stamped100b", "qos_reliability":"best_effort"},
+ {"topic_name":"nile", "msg_type":"stamped4_int32", "qos_reliability":"best_effort"},
+ {"topic_name":"ohio", "msg_type":"stamped100b", "qos_reliability":"best_effort"},
+ {"topic_name":"parana", "msg_type":"stamped3_float32", "qos_reliability":"best_effort"},
+ {"topic_name":"salween", "msg_type":"stamped12_float32", "qos_reliability":"best_effort"},
+ {"topic_name":"tagus", "msg_type":"stamped50kb", "qos_reliability":"best_effort"},
+ {"topic_name":"tigris", "msg_type":"stamped4_float32", "qos_reliability":"best_effort"},
+ {"topic_name":"volga", "msg_type":"stamped_int64", "qos_reliability":"best_effort"},
+ {"topic_name":"yamuna", "msg_type":"stamped4_int32", "qos_reliability":"best_effort"}
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/mont_blanc.json b/irobot_benchmark/topology/full_topologies/mont_blanc.json
similarity index 100%
rename from irobot_benchmark/topology/mont_blanc.json
rename to irobot_benchmark/topology/full_topologies/mont_blanc.json
diff --git a/irobot_benchmark/topology/mont_blanc.pdf b/irobot_benchmark/topology/full_topologies/mont_blanc.pdf
similarity index 100%
rename from irobot_benchmark/topology/mont_blanc.pdf
rename to irobot_benchmark/topology/full_topologies/mont_blanc.pdf
diff --git a/irobot_benchmark/topology/sierra_nevada.json b/irobot_benchmark/topology/full_topologies/sierra_nevada.json
similarity index 100%
rename from irobot_benchmark/topology/sierra_nevada.json
rename to irobot_benchmark/topology/full_topologies/sierra_nevada.json
diff --git a/irobot_benchmark/topology/sierra_nevada.pdf b/irobot_benchmark/topology/full_topologies/sierra_nevada.pdf
similarity index 100%
rename from irobot_benchmark/topology/sierra_nevada.pdf
rename to irobot_benchmark/topology/full_topologies/sierra_nevada.pdf
diff --git a/irobot_benchmark/topology/full_topologies/sierra_nevada_fixed_size.json b/irobot_benchmark/topology/full_topologies/sierra_nevada_fixed_size.json
new file mode 100644
index 00000000..b96415a5
--- /dev/null
+++ b/irobot_benchmark/topology/full_topologies/sierra_nevada_fixed_size.json
@@ -0,0 +1,109 @@
+{
+ "nodes": [
+ {
+ "node_name": "montreal",
+ "publishers": [
+ {"topic_name": "amazon", "msg_type": "stamped9_float32", "period_ms": 10, "msg_pass_by":"shared_ptr"},
+ {"topic_name": "nile", "msg_type": "stamped4_int32", "period_ms": 10, "msg_pass_by":"shared_ptr"},
+ {"topic_name": "ganges", "msg_type": "stamped4_int32", "period_ms": 10, "msg_pass_by":"shared_ptr"},
+ {"topic_name": "danube", "msg_type": "stamped_int64", "period_ms": 10, "msg_pass_by":"shared_ptr"}
+ ]
+ },
+
+ {
+ "node_name": "lyon",
+ "subscribers":[
+ {"topic_name":"amazon", "msg_type":"stamped9_float32"}
+ ],
+ "publishers": [
+ {"topic_name": "tigris", "msg_type": "stamped4_float32", "period_ms": 10, "msg_pass_by":"shared_ptr"}
+ ]
+ },
+
+ {
+ "node_name": "hamburg",
+ "subscribers":[
+ {"topic_name":"nile", "msg_type":"stamped4_int32"},
+ {"topic_name":"tigris", "msg_type":"stamped4_float32"},
+ {"topic_name":"ganges", "msg_type":"stamped4_int32"},
+ {"topic_name":"danube", "msg_type":"stamped_int64"}
+ ],
+ "publishers": [
+ {"topic_name": "parana", "msg_type": "stamped3_float32", "period_ms": 10, "msg_pass_by":"shared_ptr"}
+ ]
+ },
+
+ {
+ "node_name": "osaka",
+ "subscribers":[
+ {"topic_name":"parana", "msg_type":"stamped3_float32"}
+ ],
+ "publishers": [
+ {"topic_name": "salween", "msg_type": "stamped12_float32", "period_ms": 100, "msg_pass_by":"shared_ptr"}
+ ]
+ },
+
+ {
+ "node_name": "mandalay",
+ "subscribers":[
+ {"topic_name":"salween", "msg_type":"stamped12_float32"},
+ {"topic_name":"danube", "msg_type":"stamped_int64"}
+ ],
+ "publishers": [
+ {"topic_name": "missouri", "msg_type": "stamped10kb", "period_ms": 100, "msg_pass_by":"shared_ptr"}
+ ]
+ },
+
+ {
+ "node_name": "ponce",
+ "subscribers":[
+ {"topic_name":"missouri", "msg_type":"stamped10kb"},
+ {"topic_name":"danube", "msg_type":"stamped_int64"},
+ {"topic_name":"volga", "msg_type":"stamped_int64"}
+ ],
+ "publishers": [
+ {"topic_name": "mekong", "msg_type": "stamped100b", "period_ms": 500, "msg_pass_by":"shared_ptr"},
+ {"topic_name": "congo", "msg_type": "stamped4_int32", "period_ms": 100, "msg_pass_by":"shared_ptr"}
+ ]
+ },
+
+ {
+ "node_name": "barcelona",
+ "subscribers":[
+ {"topic_name":"mekong", "msg_type":"stamped100b"}
+ ],
+ "publishers": [
+ {"topic_name": "lena", "msg_type": "stamped50b", "period_ms": 100, "msg_pass_by":"shared_ptr"}
+ ]
+ },
+
+ {
+ "node_name": "georgetown",
+ "subscribers":[
+ {"topic_name":"lena", "msg_type":"stamped50b"}
+ ],
+ "publishers": [
+ {"topic_name": "volga", "msg_type": "stamped_int64", "period_ms": 500, "msg_pass_by":"shared_ptr"}
+ ]
+ },
+
+ {
+ "node_name": "geneva",
+ "subscribers":[
+ {"topic_name":"congo", "msg_type":"stamped4_int32"},
+ {"topic_name":"danube", "msg_type":"stamped_int64"},
+ {"topic_name":"parana", "msg_type":"stamped3_float32"}
+ ],
+ "publishers": [
+ {"topic_name": "arkansas", "msg_type": "stamped4_int32", "period_ms": 100, "msg_pass_by":"shared_ptr"}
+ ]
+ },
+
+ {
+ "node_name": "arequipa",
+ "subscribers":[
+ {"topic_name":"arkansas", "msg_type":"stamped4_int32"}
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/full_topologies/sierra_nevada_fixed_size_loaned.json b/irobot_benchmark/topology/full_topologies/sierra_nevada_fixed_size_loaned.json
new file mode 100644
index 00000000..1e7783e7
--- /dev/null
+++ b/irobot_benchmark/topology/full_topologies/sierra_nevada_fixed_size_loaned.json
@@ -0,0 +1,109 @@
+{
+ "nodes": [
+ {
+ "node_name": "montreal",
+ "publishers": [
+ {"topic_name": "amazon", "msg_type": "stamped9_float32", "period_ms": 10, "msg_pass_by":"loaned_msg"},
+ {"topic_name": "nile", "msg_type": "stamped4_int32", "period_ms": 10, "msg_pass_by":"loaned_msg"},
+ {"topic_name": "ganges", "msg_type": "stamped4_int32", "period_ms": 10, "msg_pass_by":"loaned_msg"},
+ {"topic_name": "danube", "msg_type": "stamped_int64", "period_ms": 10, "msg_pass_by":"loaned_msg"}
+ ]
+ },
+
+ {
+ "node_name": "lyon",
+ "subscribers":[
+ {"topic_name":"amazon", "msg_type":"stamped9_float32"}
+ ],
+ "publishers": [
+ {"topic_name": "tigris", "msg_type": "stamped4_float32", "period_ms": 10, "msg_pass_by":"loaned_msg"}
+ ]
+ },
+
+ {
+ "node_name": "hamburg",
+ "subscribers":[
+ {"topic_name":"nile", "msg_type":"stamped4_int32"},
+ {"topic_name":"tigris", "msg_type":"stamped4_float32"},
+ {"topic_name":"ganges", "msg_type":"stamped4_int32"},
+ {"topic_name":"danube", "msg_type":"stamped_int64"}
+ ],
+ "publishers": [
+ {"topic_name": "parana", "msg_type": "stamped3_float32", "period_ms": 10, "msg_pass_by":"loaned_msg"}
+ ]
+ },
+
+ {
+ "node_name": "osaka",
+ "subscribers":[
+ {"topic_name":"parana", "msg_type":"stamped3_float32"}
+ ],
+ "publishers": [
+ {"topic_name": "salween", "msg_type": "stamped12_float32", "period_ms": 100, "msg_pass_by":"loaned_msg"}
+ ]
+ },
+
+ {
+ "node_name": "mandalay",
+ "subscribers":[
+ {"topic_name":"salween", "msg_type":"stamped12_float32"},
+ {"topic_name":"danube", "msg_type":"stamped_int64"}
+ ],
+ "publishers": [
+ {"topic_name": "missouri", "msg_type": "stamped10kb", "period_ms": 100, "msg_pass_by":"loaned_msg"}
+ ]
+ },
+
+ {
+ "node_name": "ponce",
+ "subscribers":[
+ {"topic_name":"missouri", "msg_type":"stamped10kb"},
+ {"topic_name":"danube", "msg_type":"stamped_int64"},
+ {"topic_name":"volga", "msg_type":"stamped_int64"}
+ ],
+ "publishers": [
+ {"topic_name": "mekong", "msg_type": "stamped100b", "period_ms": 500, "msg_pass_by":"loaned_msg"},
+ {"topic_name": "congo", "msg_type": "stamped4_int32", "period_ms": 100, "msg_pass_by":"loaned_msg"}
+ ]
+ },
+
+ {
+ "node_name": "barcelona",
+ "subscribers":[
+ {"topic_name":"mekong", "msg_type":"stamped100b"}
+ ],
+ "publishers": [
+ {"topic_name": "lena", "msg_type": "stamped50b", "period_ms": 100, "msg_pass_by":"loaned_msg"}
+ ]
+ },
+
+ {
+ "node_name": "georgetown",
+ "subscribers":[
+ {"topic_name":"lena", "msg_type":"stamped50b"}
+ ],
+ "publishers": [
+ {"topic_name": "volga", "msg_type": "stamped_int64", "period_ms": 500, "msg_pass_by":"loaned_msg"}
+ ]
+ },
+
+ {
+ "node_name": "geneva",
+ "subscribers":[
+ {"topic_name":"congo", "msg_type":"stamped4_int32"},
+ {"topic_name":"danube", "msg_type":"stamped_int64"},
+ {"topic_name":"parana", "msg_type":"stamped3_float32"}
+ ],
+ "publishers": [
+ {"topic_name": "arkansas", "msg_type": "stamped4_int32", "period_ms": 100, "msg_pass_by":"loaned_msg"}
+ ]
+ },
+
+ {
+ "node_name": "arequipa",
+ "subscribers":[
+ {"topic_name":"arkansas", "msg_type":"stamped4_int32"}
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/full_topologies/sierra_nevada_loaned.json b/irobot_benchmark/topology/full_topologies/sierra_nevada_loaned.json
new file mode 100644
index 00000000..dc84a753
--- /dev/null
+++ b/irobot_benchmark/topology/full_topologies/sierra_nevada_loaned.json
@@ -0,0 +1,109 @@
+{
+ "nodes": [
+ {
+ "node_name": "montreal",
+ "publishers": [
+ {"topic_name": "amazon", "msg_type": "stamped9_float32", "period_ms": 10, "msg_pass_by":"loaned_msg"},
+ {"topic_name": "nile", "msg_type": "stamped4_int32", "period_ms": 10, "msg_pass_by":"loaned_msg"},
+ {"topic_name": "ganges", "msg_type": "stamped4_int32", "period_ms": 10, "msg_pass_by":"loaned_msg"},
+ {"topic_name": "danube", "msg_type": "stamped_int64", "period_ms": 10, "msg_pass_by":"loaned_msg"}
+ ]
+ },
+
+ {
+ "node_name": "lyon",
+ "subscribers":[
+ {"topic_name":"amazon", "msg_type":"stamped9_float32"}
+ ],
+ "publishers": [
+ {"topic_name": "tigris", "msg_type": "stamped4_float32", "period_ms": 10, "msg_pass_by":"loaned_msg"}
+ ]
+ },
+
+ {
+ "node_name": "hamburg",
+ "subscribers":[
+ {"topic_name":"nile", "msg_type":"stamped4_int32"},
+ {"topic_name":"tigris", "msg_type":"stamped4_float32"},
+ {"topic_name":"ganges", "msg_type":"stamped4_int32"},
+ {"topic_name":"danube", "msg_type":"stamped_int64"}
+ ],
+ "publishers": [
+ {"topic_name": "parana", "msg_type": "stamped3_float32", "period_ms": 10, "msg_pass_by":"loaned_msg"}
+ ]
+ },
+
+ {
+ "node_name": "osaka",
+ "subscribers":[
+ {"topic_name":"parana", "msg_type":"stamped3_float32"}
+ ],
+ "publishers": [
+ {"topic_name": "salween", "msg_type": "stamped12_float32", "period_ms": 100, "msg_pass_by":"loaned_msg"}
+ ]
+ },
+
+ {
+ "node_name": "mandalay",
+ "subscribers":[
+ {"topic_name":"salween", "msg_type":"stamped12_float32"},
+ {"topic_name":"danube", "msg_type":"stamped_int64"}
+ ],
+ "publishers": [
+ {"topic_name": "missouri", "msg_type": "stamped_vector", "msg_size": 10000, "period_ms": 100, "msg_pass_by":"loaned_msg"}
+ ]
+ },
+
+ {
+ "node_name": "ponce",
+ "subscribers":[
+ {"topic_name":"missouri", "msg_type":"stamped_vector"},
+ {"topic_name":"danube", "msg_type":"stamped_int64"},
+ {"topic_name":"volga", "msg_type":"stamped_int64"}
+ ],
+ "publishers": [
+ {"topic_name": "mekong", "msg_type": "stamped_vector", "msg_size": 100, "period_ms": 500, "msg_pass_by":"loaned_msg"},
+ {"topic_name": "congo", "msg_type": "stamped4_int32", "period_ms": 100, "msg_pass_by":"loaned_msg"}
+ ]
+ },
+
+ {
+ "node_name": "barcelona",
+ "subscribers":[
+ {"topic_name":"mekong", "msg_type":"stamped_vector"}
+ ],
+ "publishers": [
+ {"topic_name": "lena", "msg_type": "stamped_vector", "msg_size": 50, "period_ms": 100, "msg_pass_by":"loaned_msg"}
+ ]
+ },
+
+ {
+ "node_name": "georgetown",
+ "subscribers":[
+ {"topic_name":"lena", "msg_type":"stamped_vector"}
+ ],
+ "publishers": [
+ {"topic_name": "volga", "msg_type": "stamped_int64", "period_ms": 500, "msg_pass_by":"loaned_msg"}
+ ]
+ },
+
+ {
+ "node_name": "geneva",
+ "subscribers":[
+ {"topic_name":"congo", "msg_type":"stamped4_int32"},
+ {"topic_name":"danube", "msg_type":"stamped_int64"},
+ {"topic_name":"parana", "msg_type":"stamped3_float32"}
+ ],
+ "publishers": [
+ {"topic_name": "arkansas", "msg_type": "stamped4_int32", "period_ms": 100, "msg_pass_by":"loaned_msg"}
+ ]
+ },
+
+ {
+ "node_name": "arequipa",
+ "subscribers":[
+ {"topic_name":"arkansas", "msg_type":"stamped4_int32"}
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/white_mountain.json b/irobot_benchmark/topology/full_topologies/white_mountain.json
similarity index 100%
rename from irobot_benchmark/topology/white_mountain.json
rename to irobot_benchmark/topology/full_topologies/white_mountain.json
diff --git a/irobot_benchmark/topology/full_topologies/white_mountain_fixed_size.json b/irobot_benchmark/topology/full_topologies/white_mountain_fixed_size.json
new file mode 100644
index 00000000..8bb248b0
--- /dev/null
+++ b/irobot_benchmark/topology/full_topologies/white_mountain_fixed_size.json
@@ -0,0 +1,225 @@
+{
+ "nodes": [
+ {
+ "node_name": "cordoba",
+ "publishers": [
+ {"topic_name": "amazon", "msg_type": "stamped9_float32", "period_ms": 10}
+ ],
+ "executor_id":1
+ },
+
+ {
+ "node_name": "freeport",
+ "publishers": [
+ {"topic_name": "ganges", "msg_type": "stamped4_int32", "period_ms": 10}
+ ],
+ "executor_id":2
+ },
+
+ {
+ "node_name": "medellin",
+ "publishers": [
+ {"topic_name": "nile", "msg_type": "stamped4_int32", "period_ms": 10}
+ ],
+ "executor_id":3
+ },
+
+ {
+ "node_name": "portsmouth",
+ "publishers": [
+ {"topic_name": "danube", "msg_type": "stamped_int64", "period_ms": 10}
+ ],
+ "executor_id":4
+ },
+
+ {
+ "node_name": "lyon",
+ "subscribers":[
+ {"topic_name":"amazon", "msg_type":"stamped9_float32"}
+ ],
+ "publishers": [
+ {"topic_name": "tigris", "msg_type": "stamped4_float32", "period_ms": 10}
+ ],
+ "executor_id":5
+ },
+
+ {
+ "node_name": "hamburg",
+ "subscribers":[
+ {"topic_name":"nile", "msg_type":"stamped4_int32"},
+ {"topic_name":"tigris", "msg_type":"stamped4_float32"},
+ {"topic_name":"ganges", "msg_type":"stamped4_int32"},
+ {"topic_name":"danube", "msg_type":"stamped_int64"}
+ ],
+ "publishers": [
+ {"topic_name": "parana", "msg_type": "stamped3_float32", "period_ms": 10}
+ ],
+ "executor_id":6
+ },
+
+ {
+ "node_name": "delhi",
+ "publishers": [
+ {"topic_name": "columbia", "msg_type": "stamped600kb", "freq_hz": 15}
+ ],
+ "executor_id":7
+ },
+
+ {
+ "node_name": "taipei",
+ "subscribers":[
+ {"topic_name":"columbia", "msg_type":"stamped600kb"}
+ ],
+ "publishers": [
+ {"topic_name": "colorado", "msg_type": "stamped4_int32", "period_ms": 200}
+ ],
+ "executor_id":8
+ },
+
+ {
+ "node_name": "osaka",
+ "subscribers":[
+ {"topic_name":"parana", "msg_type":"stamped3_float32"},
+ {"topic_name":"colorado", "msg_type":"stamped4_int32"}
+ ],
+ "publishers": [
+ {"topic_name": "salween", "msg_type": "stamped12_float32", "period_ms": 100},
+ {"topic_name": "godavari", "msg_type": "stamped5kb", "period_ms": 200}
+ ],
+ "executor_id":9
+ },
+
+ {
+ "node_name": "tripoli",
+ "subscribers":[
+ {"topic_name":"columbia", "msg_type":"stamped600kb"},
+ {"topic_name":"godavari", "msg_type":"stamped5kb"}
+ ],
+ "publishers": [
+ {"topic_name": "loire", "msg_type": "stamped1kb", "period_ms": 200}
+ ],
+ "executor_id":10
+ },
+
+ {
+ "node_name": "kingston",
+ "publishers": [
+ {"topic_name": "yamuna", "msg_type": "stamped4_int32", "period_ms": 100}
+ ],
+ "executor_id":11
+ },
+
+ {
+ "node_name": "hebron",
+ "publishers": [
+ {"topic_name": "chenab", "msg_type": "stamped1kb", "period_ms": 25}
+ ],
+ "executor_id":12
+ },
+
+ {
+ "node_name": "mandalay",
+ "subscribers":[
+ {"topic_name":"salween", "msg_type":"stamped12_float32"},
+ {"topic_name":"danube", "msg_type":"stamped_int64"},
+ {"topic_name":"godavari", "msg_type":"stamped5kb"},
+ {"topic_name":"yamuna", "msg_type":"stamped4_int32"},
+ {"topic_name": "loire", "msg_type": "stamped1kb"},
+ {"topic_name": "chenab", "msg_type": "stamped1kb"}
+ ],
+ "publishers": [
+ {"topic_name": "missouri", "msg_type": "stamped10kb", "period_ms": 100},
+ {"topic_name": "tagus", "msg_type": "stamped50kb", "period_ms": 100},
+ {"topic_name": "brazos", "msg_type": "stamped25kb", "period_ms": 100}
+ ],
+ "executor_id":13
+ },
+
+ {
+ "node_name": "ponce",
+ "subscribers":[
+ {"topic_name":"missouri", "msg_type":"stamped10kb"},
+ {"topic_name":"danube", "msg_type":"stamped_int64"},
+ {"topic_name":"volga", "msg_type":"stamped_int64"},
+ {"topic_name":"godavari", "msg_type":"stamped5kb"},
+ {"topic_name":"yamuna", "msg_type":"stamped4_int32"},
+ {"topic_name": "loire", "msg_type": "stamped1kb"},
+ {"topic_name": "tagus", "msg_type": "stamped50kb"},
+ {"topic_name": "brazos", "msg_type": "stamped25kb"},
+ {"topic_name": "ohio", "msg_type": "stamped100b"}
+ ],
+ "publishers": [
+ {"topic_name": "mekong", "msg_type": "stamped100b", "period_ms": 500},
+ {"topic_name": "congo", "msg_type": "stamped4_int32", "period_ms": 100}
+ ],
+ "executor_id":14
+ },
+
+ {
+ "node_name": "barcelona",
+ "subscribers":[
+ {"topic_name":"mekong", "msg_type":"stamped100b"}
+ ],
+ "publishers": [
+ {"topic_name": "lena", "msg_type": "stamped50b", "period_ms": 100}
+ ],
+ "executor_id":15
+ },
+
+ {
+ "node_name": "monaco",
+ "subscribers":[
+ {"topic_name":"congo", "msg_type":"stamped4_int32"}
+ ],
+ "publishers": [
+ {"topic_name": "ohio", "msg_type": "stamped100b", "period_ms": 200}
+ ],
+ "executor_id":16
+ },
+
+ {
+ "node_name": "georgetown",
+ "subscribers":[
+ {"topic_name":"lena", "msg_type":"stamped50b"},
+ {"topic_name":"murray", "msg_type":"stamped100b"}
+ ],
+ "publishers": [
+ {"topic_name": "volga", "msg_type": "stamped_int64", "period_ms": 500}
+ ],
+ "executor_id":17
+ },
+
+ {
+ "node_name": "rotterdam",
+ "subscribers":[
+ {"topic_name":"mekong", "msg_type":"stamped100b"}
+ ],
+ "publishers": [
+ {"topic_name": "murray", "msg_type": "stamped100b", "period_ms": 500}
+ ],
+ "executor_id":18
+ },
+
+ {
+ "node_name": "geneva",
+ "subscribers":[
+ {"topic_name":"congo", "msg_type":"stamped4_int32"},
+ {"topic_name":"danube", "msg_type":"stamped_int64"},
+ {"topic_name":"parana", "msg_type":"stamped3_float32"},
+ {"topic_name": "tagus", "msg_type": "stamped50kb"}
+ ],
+ "publishers": [
+ {"topic_name": "arkansas", "msg_type": "stamped4_int32", "period_ms": 100}
+ ],
+ "executor_id":19
+ },
+
+ {
+ "node_name": "arequipa",
+ "subscribers":[
+ {"topic_name":"arkansas", "msg_type":"stamped4_int32"}
+ ],
+ "executor_id":20
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/full_topologies/white_mountain_fixed_size_loaned.json b/irobot_benchmark/topology/full_topologies/white_mountain_fixed_size_loaned.json
new file mode 100644
index 00000000..72ca774d
--- /dev/null
+++ b/irobot_benchmark/topology/full_topologies/white_mountain_fixed_size_loaned.json
@@ -0,0 +1,225 @@
+{
+ "nodes": [
+ {
+ "node_name": "cordoba",
+ "publishers": [
+ {"topic_name": "amazon", "msg_type": "stamped9_float32", "period_ms": 10, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":1
+ },
+
+ {
+ "node_name": "freeport",
+ "publishers": [
+ {"topic_name": "ganges", "msg_type": "stamped4_int32", "period_ms": 10, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":2
+ },
+
+ {
+ "node_name": "medellin",
+ "publishers": [
+ {"topic_name": "nile", "msg_type": "stamped4_int32", "period_ms": 10, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":3
+ },
+
+ {
+ "node_name": "portsmouth",
+ "publishers": [
+ {"topic_name": "danube", "msg_type": "stamped_int64", "period_ms": 10, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":4
+ },
+
+ {
+ "node_name": "lyon",
+ "subscribers":[
+ {"topic_name":"amazon", "msg_type":"stamped9_float32"}
+ ],
+ "publishers": [
+ {"topic_name": "tigris", "msg_type": "stamped4_float32", "period_ms": 10, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":5
+ },
+
+ {
+ "node_name": "hamburg",
+ "subscribers":[
+ {"topic_name":"nile", "msg_type":"stamped4_int32"},
+ {"topic_name":"tigris", "msg_type":"stamped4_float32"},
+ {"topic_name":"ganges", "msg_type":"stamped4_int32"},
+ {"topic_name":"danube", "msg_type":"stamped_int64"}
+ ],
+ "publishers": [
+ {"topic_name": "parana", "msg_type": "stamped3_float32", "period_ms": 10, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":6
+ },
+
+ {
+ "node_name": "delhi",
+ "publishers": [
+ {"topic_name": "columbia", "msg_type": "stamped600kb", "freq_hz": 15}
+ ],
+ "executor_id":7
+ },
+
+ {
+ "node_name": "taipei",
+ "subscribers":[
+ {"topic_name":"columbia", "msg_type":"stamped600kb"}
+ ],
+ "publishers": [
+ {"topic_name": "colorado", "msg_type": "stamped4_int32", "period_ms": 200, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":8
+ },
+
+ {
+ "node_name": "osaka",
+ "subscribers":[
+ {"topic_name":"parana", "msg_type":"stamped3_float32"},
+ {"topic_name":"colorado", "msg_type":"stamped4_int32"}
+ ],
+ "publishers": [
+ {"topic_name": "salween", "msg_type": "stamped12_float32", "period_ms": 100, "msg_pass_by":"loaned_msg"},
+ {"topic_name": "godavari", "msg_type": "stamped5kb", "period_ms": 200, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":9
+ },
+
+ {
+ "node_name": "tripoli",
+ "subscribers":[
+ {"topic_name":"columbia", "msg_type":"stamped600kb"},
+ {"topic_name":"godavari", "msg_type":"stamped5kb"}
+ ],
+ "publishers": [
+ {"topic_name": "loire", "msg_type": "stamped1kb", "period_ms": 200, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":10
+ },
+
+ {
+ "node_name": "kingston",
+ "publishers": [
+ {"topic_name": "yamuna", "msg_type": "stamped4_int32", "period_ms": 100, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":11
+ },
+
+ {
+ "node_name": "hebron",
+ "publishers": [
+ {"topic_name": "chenab", "msg_type": "stamped1kb", "period_ms": 25, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":12
+ },
+
+ {
+ "node_name": "mandalay",
+ "subscribers":[
+ {"topic_name":"salween", "msg_type":"stamped12_float32"},
+ {"topic_name":"danube", "msg_type":"stamped_int64"},
+ {"topic_name":"godavari", "msg_type":"stamped5kb"},
+ {"topic_name":"yamuna", "msg_type":"stamped4_int32"},
+ {"topic_name": "loire", "msg_type": "stamped1kb"},
+ {"topic_name": "chenab", "msg_type": "stamped1kb"}
+ ],
+ "publishers": [
+ {"topic_name": "missouri", "msg_type": "stamped10kb", "period_ms": 100, "msg_pass_by":"loaned_msg"},
+ {"topic_name": "tagus", "msg_type": "stamped50kb", "period_ms": 100, "msg_pass_by":"loaned_msg"},
+ {"topic_name": "brazos", "msg_type": "stamped25kb", "period_ms": 100, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":13
+ },
+
+ {
+ "node_name": "ponce",
+ "subscribers":[
+ {"topic_name":"missouri", "msg_type":"stamped10kb"},
+ {"topic_name":"danube", "msg_type":"stamped_int64"},
+ {"topic_name":"volga", "msg_type":"stamped_int64"},
+ {"topic_name":"godavari", "msg_type":"stamped5kb"},
+ {"topic_name":"yamuna", "msg_type":"stamped4_int32"},
+ {"topic_name": "loire", "msg_type": "stamped1kb"},
+ {"topic_name": "tagus", "msg_type": "stamped50kb"},
+ {"topic_name": "brazos", "msg_type": "stamped25kb"},
+ {"topic_name": "ohio", "msg_type": "stamped100b"}
+ ],
+ "publishers": [
+ {"topic_name": "mekong", "msg_type": "stamped100b", "period_ms": 500, "msg_pass_by":"loaned_msg"},
+ {"topic_name": "congo", "msg_type": "stamped4_int32", "period_ms": 100, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":14
+ },
+
+ {
+ "node_name": "barcelona",
+ "subscribers":[
+ {"topic_name":"mekong", "msg_type":"stamped100b"}
+ ],
+ "publishers": [
+ {"topic_name": "lena", "msg_type": "stamped50b", "period_ms": 100, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":15
+ },
+
+ {
+ "node_name": "monaco",
+ "subscribers":[
+ {"topic_name":"congo", "msg_type":"stamped4_int32"}
+ ],
+ "publishers": [
+ {"topic_name": "ohio", "msg_type": "stamped100b", "period_ms": 200, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":16
+ },
+
+ {
+ "node_name": "georgetown",
+ "subscribers":[
+ {"topic_name":"lena", "msg_type":"stamped50b"},
+ {"topic_name":"murray", "msg_type":"stamped100b"}
+ ],
+ "publishers": [
+ {"topic_name": "volga", "msg_type": "stamped_int64", "period_ms": 500, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":17
+ },
+
+ {
+ "node_name": "rotterdam",
+ "subscribers":[
+ {"topic_name":"mekong", "msg_type":"stamped100b"}
+ ],
+ "publishers": [
+ {"topic_name": "murray", "msg_type": "stamped100b", "period_ms": 500, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":18
+ },
+
+ {
+ "node_name": "geneva",
+ "subscribers":[
+ {"topic_name":"congo", "msg_type":"stamped4_int32"},
+ {"topic_name":"danube", "msg_type":"stamped_int64"},
+ {"topic_name":"parana", "msg_type":"stamped3_float32"},
+ {"topic_name": "tagus", "msg_type": "stamped50kb"}
+ ],
+ "publishers": [
+ {"topic_name": "arkansas", "msg_type": "stamped4_int32", "period_ms": 100, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":19
+ },
+
+ {
+ "node_name": "arequipa",
+ "subscribers":[
+ {"topic_name":"arkansas", "msg_type":"stamped4_int32"}
+ ],
+ "executor_id":20
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/full_topologies/white_mountain_loaned.json b/irobot_benchmark/topology/full_topologies/white_mountain_loaned.json
new file mode 100644
index 00000000..f69a010b
--- /dev/null
+++ b/irobot_benchmark/topology/full_topologies/white_mountain_loaned.json
@@ -0,0 +1,225 @@
+{
+ "nodes": [
+ {
+ "node_name": "cordoba",
+ "publishers": [
+ {"topic_name": "amazon", "msg_type": "stamped9_float32", "period_ms": 10, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":1
+ },
+
+ {
+ "node_name": "freeport",
+ "publishers": [
+ {"topic_name": "ganges", "msg_type": "stamped4_int32", "period_ms": 10, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":2
+ },
+
+ {
+ "node_name": "medellin",
+ "publishers": [
+ {"topic_name": "nile", "msg_type": "stamped4_int32", "period_ms": 10, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":3
+ },
+
+ {
+ "node_name": "portsmouth",
+ "publishers": [
+ {"topic_name": "danube", "msg_type": "stamped_int64", "period_ms": 10, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":4
+ },
+
+ {
+ "node_name": "lyon",
+ "subscribers":[
+ {"topic_name":"amazon", "msg_type":"stamped9_float32"}
+ ],
+ "publishers": [
+ {"topic_name": "tigris", "msg_type": "stamped4_float32", "period_ms": 10, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":5
+ },
+
+ {
+ "node_name": "hamburg",
+ "subscribers":[
+ {"topic_name":"nile", "msg_type":"stamped4_int32"},
+ {"topic_name":"tigris", "msg_type":"stamped4_float32"},
+ {"topic_name":"ganges", "msg_type":"stamped4_int32"},
+ {"topic_name":"danube", "msg_type":"stamped_int64"}
+ ],
+ "publishers": [
+ {"topic_name": "parana", "msg_type": "stamped3_float32", "period_ms": 10, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":6
+ },
+
+ {
+ "node_name": "delhi",
+ "publishers": [
+ {"topic_name": "columbia", "msg_type": "stamped600kb", "freq_hz": 15}
+ ],
+ "executor_id":7
+ },
+
+ {
+ "node_name": "taipei",
+ "subscribers":[
+ {"topic_name":"columbia", "msg_type":"stamped600kb"}
+ ],
+ "publishers": [
+ {"topic_name": "colorado", "msg_type": "stamped4_int32", "period_ms": 200, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":8
+ },
+
+ {
+ "node_name": "osaka",
+ "subscribers":[
+ {"topic_name":"parana", "msg_type":"stamped3_float32"},
+ {"topic_name":"colorado", "msg_type":"stamped4_int32"}
+ ],
+ "publishers": [
+ {"topic_name": "salween", "msg_type": "stamped12_float32", "period_ms": 100, "msg_pass_by":"loaned_msg"},
+ {"topic_name": "godavari", "msg_type": "stamped_vector", "msg_size": 5000, "period_ms": 200, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":9
+ },
+
+ {
+ "node_name": "tripoli",
+ "subscribers":[
+ {"topic_name":"columbia", "msg_type":"stamped600kb"},
+ {"topic_name":"godavari", "msg_type":"stamped_vector"}
+ ],
+ "publishers": [
+ {"topic_name": "loire", "msg_type": "stamped_vector", "msg_size": 1000, "period_ms": 200, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":10
+ },
+
+ {
+ "node_name": "kingston",
+ "publishers": [
+ {"topic_name": "yamuna", "msg_type": "stamped4_int32", "period_ms": 100, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":11
+ },
+
+ {
+ "node_name": "hebron",
+ "publishers": [
+ {"topic_name": "chenab", "msg_type": "stamped1kb", "period_ms": 25, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":12
+ },
+
+ {
+ "node_name": "mandalay",
+ "subscribers":[
+ {"topic_name":"salween", "msg_type":"stamped12_float32"},
+ {"topic_name":"danube", "msg_type":"stamped_int64"},
+ {"topic_name":"godavari", "msg_type":"stamped_vector"},
+ {"topic_name":"yamuna", "msg_type":"stamped4_int32"},
+ {"topic_name": "loire", "msg_type": "stamped_vector"},
+ {"topic_name": "chenab", "msg_type": "stamped1kb"}
+ ],
+ "publishers": [
+ {"topic_name": "missouri", "msg_type": "stamped_vector", "msg_size": 10000, "period_ms": 100, "msg_pass_by":"loaned_msg"},
+ {"topic_name": "tagus", "msg_type": "stamped_vector", "msg_size": 50000, "period_ms": 100, "msg_pass_by":"loaned_msg"},
+ {"topic_name": "brazos", "msg_type": "stamped_vector", "msg_size": 25000, "period_ms": 100, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":13
+ },
+
+ {
+ "node_name": "ponce",
+ "subscribers":[
+ {"topic_name":"missouri", "msg_type":"stamped_vector"},
+ {"topic_name":"danube", "msg_type":"stamped_int64"},
+ {"topic_name":"volga", "msg_type":"stamped_int64"},
+ {"topic_name":"godavari", "msg_type":"stamped_vector"},
+ {"topic_name":"yamuna", "msg_type":"stamped4_int32"},
+ {"topic_name": "loire", "msg_type": "stamped_vector"},
+ {"topic_name": "tagus", "msg_type": "stamped_vector"},
+ {"topic_name": "brazos", "msg_type": "stamped_vector"},
+ {"topic_name": "ohio", "msg_type": "stamped100b"}
+ ],
+ "publishers": [
+ {"topic_name": "mekong", "msg_type": "stamped_vector", "msg_size": 100, "period_ms": 500, "msg_pass_by":"loaned_msg"},
+ {"topic_name": "congo", "msg_type": "stamped4_int32", "period_ms": 100, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":14
+ },
+
+ {
+ "node_name": "barcelona",
+ "subscribers":[
+ {"topic_name":"mekong", "msg_type":"stamped_vector"}
+ ],
+ "publishers": [
+ {"topic_name": "lena", "msg_type": "stamped_vector", "msg_size": 50, "period_ms": 100, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":15
+ },
+
+ {
+ "node_name": "monaco",
+ "subscribers":[
+ {"topic_name":"congo", "msg_type":"stamped4_int32"}
+ ],
+ "publishers": [
+ {"topic_name": "ohio", "msg_type": "stamped100b", "period_ms": 200, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":16
+ },
+
+ {
+ "node_name": "georgetown",
+ "subscribers":[
+ {"topic_name":"lena", "msg_type":"stamped_vector"},
+ {"topic_name":"murray", "msg_type":"stamped_vector"}
+ ],
+ "publishers": [
+ {"topic_name": "volga", "msg_type": "stamped_int64", "period_ms": 500, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":17
+ },
+
+ {
+ "node_name": "rotterdam",
+ "subscribers":[
+ {"topic_name":"mekong", "msg_type":"stamped_vector"}
+ ],
+ "publishers": [
+ {"topic_name": "murray", "msg_type": "stamped_vector", "msg_size": 100, "period_ms": 500, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":18
+ },
+
+ {
+ "node_name": "geneva",
+ "subscribers":[
+ {"topic_name":"congo", "msg_type":"stamped4_int32"},
+ {"topic_name":"danube", "msg_type":"stamped_int64"},
+ {"topic_name":"parana", "msg_type":"stamped3_float32"},
+ {"topic_name": "tagus", "msg_type": "stamped_vector"}
+ ],
+ "publishers": [
+ {"topic_name": "arkansas", "msg_type": "stamped4_int32", "period_ms": 100, "msg_pass_by":"loaned_msg"}
+ ],
+ "executor_id":19
+ },
+
+ {
+ "node_name": "arequipa",
+ "subscribers":[
+ {"topic_name":"arkansas", "msg_type":"stamped4_int32"}
+ ],
+ "executor_id":20
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/multi_process/pub_ipc_off_100kb.json b/irobot_benchmark/topology/multi_process/pub_ipc_off_100kb.json
new file mode 100755
index 00000000..98ba11cd
--- /dev/null
+++ b/irobot_benchmark/topology/multi_process/pub_ipc_off_100kb.json
@@ -0,0 +1,15 @@
+{
+ "nodes": [
+ {
+ "node_name": "pub_node",
+ "publishers": [
+ {
+ "topic_name": "test",
+ "msg_type": "stamped100kb",
+ "period_ms": 100,
+ "msg_pass_by":"shared_ptr"
+ }
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/multi_process/pub_ipc_off_10b.json b/irobot_benchmark/topology/multi_process/pub_ipc_off_10b.json
new file mode 100755
index 00000000..ba766749
--- /dev/null
+++ b/irobot_benchmark/topology/multi_process/pub_ipc_off_10b.json
@@ -0,0 +1,15 @@
+{
+ "nodes": [
+ {
+ "node_name": "pub_node",
+ "publishers": [
+ {
+ "topic_name": "test",
+ "msg_type": "stamped10b",
+ "period_ms": 1,
+ "msg_pass_by":"shared_ptr"
+ }
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/multi_process/pub_ipc_off_1mb.json b/irobot_benchmark/topology/multi_process/pub_ipc_off_1mb.json
new file mode 100755
index 00000000..103c830b
--- /dev/null
+++ b/irobot_benchmark/topology/multi_process/pub_ipc_off_1mb.json
@@ -0,0 +1,15 @@
+{
+ "nodes": [
+ {
+ "node_name": "pub_node",
+ "publishers": [
+ {
+ "topic_name": "test",
+ "msg_type": "stamped1mb",
+ "period_ms": 50,
+ "msg_pass_by":"shared_ptr"
+ }
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/multi_process/pub_ipc_off_4mb.json b/irobot_benchmark/topology/multi_process/pub_ipc_off_4mb.json
new file mode 100755
index 00000000..fda15bcf
--- /dev/null
+++ b/irobot_benchmark/topology/multi_process/pub_ipc_off_4mb.json
@@ -0,0 +1,15 @@
+{
+ "nodes": [
+ {
+ "node_name": "pub_node",
+ "publishers": [
+ {
+ "topic_name": "test",
+ "msg_type": "stamped4mb",
+ "period_ms": 100,
+ "msg_pass_by":"shared_ptr"
+ }
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/multi_process/pub_loaned_100kb.json b/irobot_benchmark/topology/multi_process/pub_loaned_100kb.json
new file mode 100755
index 00000000..390ba18c
--- /dev/null
+++ b/irobot_benchmark/topology/multi_process/pub_loaned_100kb.json
@@ -0,0 +1,15 @@
+{
+ "nodes": [
+ {
+ "node_name": "pub_node",
+ "publishers": [
+ {
+ "topic_name": "test",
+ "msg_type": "stamped100kb",
+ "period_ms": 100,
+ "msg_pass_by":"loaned_msg"
+ }
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/multi_process/pub_loaned_10b.json b/irobot_benchmark/topology/multi_process/pub_loaned_10b.json
new file mode 100755
index 00000000..b2550f90
--- /dev/null
+++ b/irobot_benchmark/topology/multi_process/pub_loaned_10b.json
@@ -0,0 +1,15 @@
+{
+ "nodes": [
+ {
+ "node_name": "pub_node",
+ "publishers": [
+ {
+ "topic_name": "test",
+ "msg_type": "stamped10b",
+ "period_ms": 1,
+ "msg_pass_by":"loaned_msg"
+ }
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/multi_process/pub_loaned_1mb.json b/irobot_benchmark/topology/multi_process/pub_loaned_1mb.json
new file mode 100755
index 00000000..b52df533
--- /dev/null
+++ b/irobot_benchmark/topology/multi_process/pub_loaned_1mb.json
@@ -0,0 +1,15 @@
+{
+ "nodes": [
+ {
+ "node_name": "pub_node",
+ "publishers": [
+ {
+ "topic_name": "test",
+ "msg_type": "stamped1mb",
+ "period_ms": 50,
+ "msg_pass_by":"loaned_msg"
+ }
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/multi_process/pub_loaned_4mb.json b/irobot_benchmark/topology/multi_process/pub_loaned_4mb.json
new file mode 100755
index 00000000..85172d5b
--- /dev/null
+++ b/irobot_benchmark/topology/multi_process/pub_loaned_4mb.json
@@ -0,0 +1,15 @@
+{
+ "nodes": [
+ {
+ "node_name": "pub_node",
+ "publishers": [
+ {
+ "topic_name": "test",
+ "msg_type": "stamped4mb",
+ "period_ms": 100,
+ "msg_pass_by":"loaned_msg"
+ }
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/multi_process/sub_ipc_off_100kb.json b/irobot_benchmark/topology/multi_process/sub_ipc_off_100kb.json
new file mode 100755
index 00000000..f8db1aea
--- /dev/null
+++ b/irobot_benchmark/topology/multi_process/sub_ipc_off_100kb.json
@@ -0,0 +1,10 @@
+{
+ "nodes": [
+ {
+ "node_name": "sub_node",
+ "subscribers":[
+ {"topic_name":"test", "msg_type":"stamped100kb"}
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/multi_process/sub_ipc_off_10b.json b/irobot_benchmark/topology/multi_process/sub_ipc_off_10b.json
new file mode 100755
index 00000000..4148c2fe
--- /dev/null
+++ b/irobot_benchmark/topology/multi_process/sub_ipc_off_10b.json
@@ -0,0 +1,10 @@
+{
+ "nodes": [
+ {
+ "node_name": "sub_node",
+ "subscribers":[
+ {"topic_name":"test", "msg_type":"stamped10b"}
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/multi_process/sub_ipc_off_1mb.json b/irobot_benchmark/topology/multi_process/sub_ipc_off_1mb.json
new file mode 100755
index 00000000..0a2d68e6
--- /dev/null
+++ b/irobot_benchmark/topology/multi_process/sub_ipc_off_1mb.json
@@ -0,0 +1,10 @@
+{
+ "nodes": [
+ {
+ "node_name": "sub_node",
+ "subscribers":[
+ {"topic_name":"test", "msg_type":"stamped1mb"}
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/multi_process/sub_ipc_off_4mb.json b/irobot_benchmark/topology/multi_process/sub_ipc_off_4mb.json
new file mode 100755
index 00000000..2498e8df
--- /dev/null
+++ b/irobot_benchmark/topology/multi_process/sub_ipc_off_4mb.json
@@ -0,0 +1,10 @@
+{
+ "nodes": [
+ {
+ "node_name": "sub_node",
+ "subscribers":[
+ {"topic_name":"test", "msg_type":"stamped4mb"}
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/multi_process/sub_loaned_100kb.json b/irobot_benchmark/topology/multi_process/sub_loaned_100kb.json
new file mode 100755
index 00000000..f8db1aea
--- /dev/null
+++ b/irobot_benchmark/topology/multi_process/sub_loaned_100kb.json
@@ -0,0 +1,10 @@
+{
+ "nodes": [
+ {
+ "node_name": "sub_node",
+ "subscribers":[
+ {"topic_name":"test", "msg_type":"stamped100kb"}
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/multi_process/sub_loaned_10b.json b/irobot_benchmark/topology/multi_process/sub_loaned_10b.json
new file mode 100755
index 00000000..4148c2fe
--- /dev/null
+++ b/irobot_benchmark/topology/multi_process/sub_loaned_10b.json
@@ -0,0 +1,10 @@
+{
+ "nodes": [
+ {
+ "node_name": "sub_node",
+ "subscribers":[
+ {"topic_name":"test", "msg_type":"stamped10b"}
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/multi_process/sub_loaned_1mb.json b/irobot_benchmark/topology/multi_process/sub_loaned_1mb.json
new file mode 100755
index 00000000..0a2d68e6
--- /dev/null
+++ b/irobot_benchmark/topology/multi_process/sub_loaned_1mb.json
@@ -0,0 +1,10 @@
+{
+ "nodes": [
+ {
+ "node_name": "sub_node",
+ "subscribers":[
+ {"topic_name":"test", "msg_type":"stamped1mb"}
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/multi_process/sub_loaned_4mb.json b/irobot_benchmark/topology/multi_process/sub_loaned_4mb.json
new file mode 100755
index 00000000..2498e8df
--- /dev/null
+++ b/irobot_benchmark/topology/multi_process/sub_loaned_4mb.json
@@ -0,0 +1,10 @@
+{
+ "nodes": [
+ {
+ "node_name": "sub_node",
+ "subscribers":[
+ {"topic_name":"test", "msg_type":"stamped4mb"}
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/single_process/pub_sub_100kb_ipc_off.json b/irobot_benchmark/topology/single_process/pub_sub_100kb_ipc_off.json
new file mode 100644
index 00000000..7c16f8c6
--- /dev/null
+++ b/irobot_benchmark/topology/single_process/pub_sub_100kb_ipc_off.json
@@ -0,0 +1,21 @@
+{
+ "nodes": [
+ {
+ "node_name": "pub_node_sp",
+ "publishers": [
+ {
+ "topic_name": "test",
+ "msg_type": "stamped100kb",
+ "period_ms": 100,
+ "msg_pass_by":"unique_ptr"}
+
+ ]
+ },
+ {
+ "node_name": "sub_node_sp",
+ "subscribers":[
+ {"topic_name":"test", "msg_type":"stamped100kb"}
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/single_process/pub_sub_100kb_ipc_on.json b/irobot_benchmark/topology/single_process/pub_sub_100kb_ipc_on.json
new file mode 100644
index 00000000..7c16f8c6
--- /dev/null
+++ b/irobot_benchmark/topology/single_process/pub_sub_100kb_ipc_on.json
@@ -0,0 +1,21 @@
+{
+ "nodes": [
+ {
+ "node_name": "pub_node_sp",
+ "publishers": [
+ {
+ "topic_name": "test",
+ "msg_type": "stamped100kb",
+ "period_ms": 100,
+ "msg_pass_by":"unique_ptr"}
+
+ ]
+ },
+ {
+ "node_name": "sub_node_sp",
+ "subscribers":[
+ {"topic_name":"test", "msg_type":"stamped100kb"}
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/single_process/pub_sub_10b_ipc_off.json b/irobot_benchmark/topology/single_process/pub_sub_10b_ipc_off.json
new file mode 100644
index 00000000..db02e8db
--- /dev/null
+++ b/irobot_benchmark/topology/single_process/pub_sub_10b_ipc_off.json
@@ -0,0 +1,21 @@
+{
+ "nodes": [
+ {
+ "node_name": "pub_node_sp",
+ "publishers": [
+ {
+ "topic_name": "test",
+ "msg_type": "stamped10b",
+ "period_ms": 1,
+ "msg_pass_by":"unique_ptr"}
+
+ ]
+ },
+ {
+ "node_name": "sub_node_sp",
+ "subscribers":[
+ {"topic_name":"test", "msg_type":"stamped10b"}
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/single_process/pub_sub_10b_ipc_on.json b/irobot_benchmark/topology/single_process/pub_sub_10b_ipc_on.json
new file mode 100644
index 00000000..db02e8db
--- /dev/null
+++ b/irobot_benchmark/topology/single_process/pub_sub_10b_ipc_on.json
@@ -0,0 +1,21 @@
+{
+ "nodes": [
+ {
+ "node_name": "pub_node_sp",
+ "publishers": [
+ {
+ "topic_name": "test",
+ "msg_type": "stamped10b",
+ "period_ms": 1,
+ "msg_pass_by":"unique_ptr"}
+
+ ]
+ },
+ {
+ "node_name": "sub_node_sp",
+ "subscribers":[
+ {"topic_name":"test", "msg_type":"stamped10b"}
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/single_process/pub_sub_1mb_ipc_off.json b/irobot_benchmark/topology/single_process/pub_sub_1mb_ipc_off.json
new file mode 100644
index 00000000..7e1ca44b
--- /dev/null
+++ b/irobot_benchmark/topology/single_process/pub_sub_1mb_ipc_off.json
@@ -0,0 +1,21 @@
+{
+ "nodes": [
+ {
+ "node_name": "pub_node_sp",
+ "publishers": [
+ {
+ "topic_name": "test",
+ "msg_type": "stamped1mb",
+ "period_ms": 50,
+ "msg_pass_by":"unique_ptr"}
+
+ ]
+ },
+ {
+ "node_name": "sub_node_sp",
+ "subscribers":[
+ {"topic_name":"test", "msg_type":"stamped1mb"}
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/single_process/pub_sub_1mb_ipc_on.json b/irobot_benchmark/topology/single_process/pub_sub_1mb_ipc_on.json
new file mode 100644
index 00000000..7e1ca44b
--- /dev/null
+++ b/irobot_benchmark/topology/single_process/pub_sub_1mb_ipc_on.json
@@ -0,0 +1,21 @@
+{
+ "nodes": [
+ {
+ "node_name": "pub_node_sp",
+ "publishers": [
+ {
+ "topic_name": "test",
+ "msg_type": "stamped1mb",
+ "period_ms": 50,
+ "msg_pass_by":"unique_ptr"}
+
+ ]
+ },
+ {
+ "node_name": "sub_node_sp",
+ "subscribers":[
+ {"topic_name":"test", "msg_type":"stamped1mb"}
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/single_process/pub_sub_4mb_ipc_off.json b/irobot_benchmark/topology/single_process/pub_sub_4mb_ipc_off.json
new file mode 100644
index 00000000..62764a4d
--- /dev/null
+++ b/irobot_benchmark/topology/single_process/pub_sub_4mb_ipc_off.json
@@ -0,0 +1,21 @@
+{
+ "nodes": [
+ {
+ "node_name": "pub_node_sp",
+ "publishers": [
+ {
+ "topic_name": "test",
+ "msg_type": "stamped4mb",
+ "period_ms": 100,
+ "msg_pass_by":"unique_ptr"}
+
+ ]
+ },
+ {
+ "node_name": "sub_node_sp",
+ "subscribers":[
+ {"topic_name":"test", "msg_type":"stamped4mb"}
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/single_process/pub_sub_4mb_ipc_on.json b/irobot_benchmark/topology/single_process/pub_sub_4mb_ipc_on.json
new file mode 100644
index 00000000..62764a4d
--- /dev/null
+++ b/irobot_benchmark/topology/single_process/pub_sub_4mb_ipc_on.json
@@ -0,0 +1,21 @@
+{
+ "nodes": [
+ {
+ "node_name": "pub_node_sp",
+ "publishers": [
+ {
+ "topic_name": "test",
+ "msg_type": "stamped4mb",
+ "period_ms": 100,
+ "msg_pass_by":"unique_ptr"}
+
+ ]
+ },
+ {
+ "node_name": "sub_node_sp",
+ "subscribers":[
+ {"topic_name":"test", "msg_type":"stamped4mb"}
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/single_process/pub_sub_loaned_100kb.json b/irobot_benchmark/topology/single_process/pub_sub_loaned_100kb.json
new file mode 100644
index 00000000..275558ad
--- /dev/null
+++ b/irobot_benchmark/topology/single_process/pub_sub_loaned_100kb.json
@@ -0,0 +1,22 @@
+{
+ "nodes": [
+ {
+ "node_name": "pub_node_sp",
+ "publishers": [
+ {
+ "topic_name": "test",
+ "msg_type": "stamped100kb",
+ "period_ms": 100,
+ "msg_pass_by":"loaned_msg"
+ }
+
+ ]
+ },
+ {
+ "node_name": "sub_node_sp",
+ "subscribers":[
+ {"topic_name":"test", "msg_type":"stamped100kb"}
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/single_process/pub_sub_loaned_10b.json b/irobot_benchmark/topology/single_process/pub_sub_loaned_10b.json
new file mode 100644
index 00000000..e4a8c217
--- /dev/null
+++ b/irobot_benchmark/topology/single_process/pub_sub_loaned_10b.json
@@ -0,0 +1,22 @@
+{
+ "nodes": [
+ {
+ "node_name": "pub_node_sp",
+ "publishers": [
+ {
+ "topic_name": "test",
+ "msg_type": "stamped10b",
+ "period_ms": 1,
+ "msg_pass_by":"loaned_msg"
+ }
+
+ ]
+ },
+ {
+ "node_name": "sub_node_sp",
+ "subscribers":[
+ {"topic_name":"test", "msg_type":"stamped10b"}
+ ]
+ }
+ ]
+}
diff --git a/irobot_benchmark/topology/single_process/pub_sub_loaned_1mb.json b/irobot_benchmark/topology/single_process/pub_sub_loaned_1mb.json
new file mode 100755
index 00000000..e399a140
--- /dev/null
+++ b/irobot_benchmark/topology/single_process/pub_sub_loaned_1mb.json
@@ -0,0 +1,23 @@
+{
+ "nodes": [
+ {
+ "node_name": "pub_node_sp",
+ "publishers": [
+ {
+ "topic_name": "test",
+ "msg_type": "stamped1mb",
+ "period_ms": 50,
+ "msg_pass_by":"loaned_msg"
+ }
+
+ ]
+ },
+ {
+ "node_name": "sub_node_sp",
+ "subscribers":[
+ {"topic_name":"test", "msg_type":"stamped1mb"}
+ ]
+ }
+ ]
+}
+
diff --git a/irobot_benchmark/topology/single_process/pub_sub_loaned_4mb.json b/irobot_benchmark/topology/single_process/pub_sub_loaned_4mb.json
new file mode 100644
index 00000000..a85aa4ec
--- /dev/null
+++ b/irobot_benchmark/topology/single_process/pub_sub_loaned_4mb.json
@@ -0,0 +1,22 @@
+{
+ "nodes": [
+ {
+ "node_name": "pub_node_sp",
+ "publishers": [
+ {
+ "topic_name": "test",
+ "msg_type": "stamped4mb",
+ "period_ms": 100,
+ "msg_pass_by":"loaned_msg"
+ }
+
+ ]
+ },
+ {
+ "node_name": "sub_node_sp",
+ "subscribers":[
+ {"topic_name":"test", "msg_type":"stamped4mb"}
+ ]
+ }
+ ]
+}
diff --git a/irobot_interfaces_plugin/CMakeLists.txt b/irobot_interfaces_plugin/CMakeLists.txt
index 68786e97..29390342 100644
--- a/irobot_interfaces_plugin/CMakeLists.txt
+++ b/irobot_interfaces_plugin/CMakeLists.txt
@@ -26,10 +26,13 @@ set( CUSTOM_MSGS
"msg/Stamped9Float32.msg"
"msg/Stamped12Float32.msg"
"msg/Stamped10b.msg"
+ "msg/Stamped50b.msg"
"msg/Stamped100b.msg"
"msg/Stamped250b.msg"
"msg/Stamped1kb.msg"
+ "msg/Stamped5kb.msg"
"msg/Stamped10kb.msg"
+ "msg/Stamped25kb.msg"
"msg/Stamped50kb.msg"
"msg/Stamped100kb.msg"
"msg/Stamped250kb.msg"
diff --git a/irobot_interfaces_plugin/msg/Stamped25kb.msg b/irobot_interfaces_plugin/msg/Stamped25kb.msg
new file mode 100644
index 00000000..dd6fbff4
--- /dev/null
+++ b/irobot_interfaces_plugin/msg/Stamped25kb.msg
@@ -0,0 +1,2 @@
+performance_test_msgs/PerformanceHeader header
+byte[25000] data
\ No newline at end of file
diff --git a/irobot_interfaces_plugin/msg/Stamped50b.msg b/irobot_interfaces_plugin/msg/Stamped50b.msg
new file mode 100644
index 00000000..b0acd5b8
--- /dev/null
+++ b/irobot_interfaces_plugin/msg/Stamped50b.msg
@@ -0,0 +1,2 @@
+performance_test_msgs/PerformanceHeader header
+byte[50] data
\ No newline at end of file
diff --git a/irobot_interfaces_plugin/msg/Stamped5kb.msg b/irobot_interfaces_plugin/msg/Stamped5kb.msg
new file mode 100644
index 00000000..0ddd1c0b
--- /dev/null
+++ b/irobot_interfaces_plugin/msg/Stamped5kb.msg
@@ -0,0 +1,2 @@
+performance_test_msgs/PerformanceHeader header
+byte[5000] data
\ No newline at end of file