Back to catalog

Utility Infrastructure

H02 pShare Topology

Utility infrastructure tests for pShare topology behavior. These cases verify two-sender fan-in, competing updates to the same destination, one receiver listening on multiple UDP input ports, input route-list parsing, multicast delivery to more than one listener, custom multicast base/address mapping, relay proof of receipt, dynamic unicast and multicast receiver input-route insertion, unicast branching to a relay, route-list branching across communities, alias-specific command routing, and runtime output-route insertion through PSHARE_CMD.

Stem Mission

Baseline scenario context

The stem mission runs four local MOOS communities: a shoreside evaluator, two sender peers, and one relay/listener peer. Case overlays keep the topology fixed while changing pShare routes, scripted sender mail, and the evaluator conditions needed to prove multi-peer delivery.

Examples

Representative runs

Fan-in

Description: Routes ALPHA_SRC=alpha and BRAVO_SRC=bravo from separate communities to FANIN_ALPHA and FANIN_BRAVO on one shoreside input; passes when both destination values arrive.

Multicast Relay Proof

Description: Sends MCAST_SRC=multicast over multicast_33 to shoreside and relay; passes when shoreside receives MCAST_TO_SHORE=multicast and the relay's evaluator returns RELAY_SEEN=true.

Case Matrix

All cases

pshare_topology_fanin_pass

Routes ALPHA_SRC=alpha and BRAVO_SRC=bravo from separate communities to FANIN_ALPHA and FANIN_BRAVO on one shoreside input; passes when both destination values arrive.

pshare_topology_competing_update_pass

Routes ALPHA_COMPETE=alpha and later BRAVO_COMPETE=bravo into the same COMPETE_RX destination; the ordered evaluator first requires COMPETE_RX=alpha at COMPETE_ALPHA_DONE, then requires COMPETE_RX=bravo at COMPETE_DONE.

pshare_topology_multi_input_port_pass

Configures two separate shoreside Input entries, sends WL_ALLOW=allowed to the primary port and WL_BLOCK=blocked to the second port, and passes when both values arrive.

pshare_topology_input_route_list_pass

Configures the same two shoreside ports in one ampersand-separated input route list; passes when values input_alpha and input_bravo sent to the two ports both arrive.

pshare_topology_multicast_multi_listener_pass

Sends MCAST_SRC=multicast over multicast_33 to shoreside and relay; passes when shoreside receives MCAST_TO_SHORE=multicast and the relay's evaluator returns RELAY_SEEN=true.

pshare_topology_dynamic_input_route_pass

Adds the relay-port unicast input through shoreside PSHARE_CMD at 18 seconds, then sends DYN_INPUT_RX=dynamic to that port at 28 seconds; passes when the value arrives.

pshare_topology_dynamic_multicast_input_pass

Adds multicast_44 through shoreside PSHARE_CMD at 18 seconds, then sends DYN_MCAST_RX=dynamic_mcast on that channel at 28 seconds; passes when the value arrives.

pshare_topology_custom_multicast_base_pass

Configures sender and receiver with multicast address 224.1.1.12, a custom base port, and channel multicast_7; passes when CUSTOM_MCAST_RX=custom_mcast arrives.

pshare_topology_unicast_relay_branch_pass

Defines two unicast outputs from DUAL_SRC, one to shoreside and one to relay; passes when shoreside gets DUAL_SHORE=branch and the relay evaluator returns UNICAST_RELAY_SEEN=true.

pshare_topology_route_list_branch_pass

Uses one ampersand-separated output route list from LIST_SRC to shoreside and relay; passes when shoreside gets LIST_BRANCH=route_list and the relay evaluator returns LIST_RELAY_SEEN=true.

pshare_topology_alias_cmd_route_pass

Launches alpha pShare as Antler alias ShareAlpha, posts an output route on SHAREALPHA_CMD, then posts ALIAS_SRC=alias; passes when shoreside receives ALIAS_RX=alias.

pshare_topology_runtime_route_pass

Posts a unicast output route on alpha's PSHARE_CMD at 18 seconds and RUNTIME_SRC=runtime at 22 seconds; passes when shoreside receives RUNTIME_RX=runtime.

Source links

Harness README Mission README