Mads
Multi-Agent Distributed System
Loading...
Searching...
No Matches
Mads::GraphOptions Struct Reference

Rendering knobs for topology_graph(). More...

#include <topology_graph.hpp>

Public Attributes

bool expand_catch_all = false
 
std::optional< LiveSubscriptionslive
 

Detailed Description

Rendering knobs for topology_graph().

Definition at line 73 of file topology_graph.hpp.

Member Data Documentation

◆ expand_catch_all

bool Mads::GraphOptions::expand_catch_all = false

Draw one edge per publisher into every subscribe-all (sub_topic = [""]) subscriber, instead of collapsing them into a count shown on the subscriber's own (all) line. Off by default: a subscribe-all subscriber matches every publisher by definition, so in any real deployment (a logger, a monitor, a recorder...) those edges are both the least informative and the most numerous, and they bury the wiring the graph is actually being read for. Nothing is lost by collapsing them – "receives everything" is exactly what the (all) line says.

Definition at line 82 of file topology_graph.hpp.

◆ live

std::optional<LiveSubscriptions> Mads::GraphOptions::live

When set, overlay live subscriber counts onto the declared graph (mads doctor --graph --graph-live). This annotates, never replaces: the nodes and edges still come from the settings file, because an anonymous topic -> count table cannot name agents or identify publishers and so cannot draw a graph by itself.

Three states become distinguishable that are identical without it: a declared subscription with someone listening, a declared subscription with nobody listening, and a live subscription nobody declared (invisible entirely on a settings-only graph).

Note the overlay speaks only about subscribers. A pure publisher's liveness leaves no trace in a subscription table, so a source is never reported as offline – only as unheard, which the declared graph already shows.

Definition at line 99 of file topology_graph.hpp.


The documentation for this struct was generated from the following file: