|
VLink
2.0.0
A high-performance communication middleware
|
Live aggregator of VLink endpoint announcements emitted by DiscoveryReporter.
More...
#include <cstdint>#include <memory>#include <string>#include <vector>#include "../base/functional.h"#include "../base/macros.h"#include "../base/message_loop.h"#include "../impl/types.h"Go to the source code of this file.
Classes | |
| class | vlink::DiscoveryViewer |
MessageLoop-based aggregator of live VLink endpoint announcements. More... | |
| struct | vlink::DiscoveryViewer::Process |
| Identity of a process that hosts at least one endpoint for a URL. More... | |
| struct | vlink::DiscoveryViewer::Info |
| One row of the discovery snapshot, describing a URL and its publishers/subscribers. More... | |
Namespaces | |
| vlink | |
Live aggregator of VLink endpoint announcements emitted by DiscoveryReporter.
DiscoveryViewer is the listening counterpart of DiscoveryReporter. It joins the discovery UDP multicast group, decodes incoming announcements, and maintains an in-memory snapshot of every URL/process currently advertised on the host or network. It powers vlink-cli, dashboards and any custom monitoring tool that needs a live topology view.
Filter modes select which announcements survive into the snapshot:
| Value | Description |
|---|---|
kFilterNone | Keep every announcement regardless of origin |
kFilterAvailable | Drop remote announcements for local-only URL schemes (intra, shm, ...) |
kFilterNative | Keep only announcements emitted by the same host as the viewer |
Viewer interaction:
* DiscoveryReporter --(UDP multicast)--> +----------------+ Callback(info_list) * | Viewer | ---------------------> user code * Heartbeat timeout ----+---> | (MessageLoop) | <--- get_info_list() * process_offline() ----+---> +----------------+ *
MessageLoop thread; copy the snapshot if it needs to outlive the call. Endpoints whose heartbeat lapses are pruned automatically.