|
VLink
2.0.0
A high-performance communication middleware
|
Process-wide discovery broadcaster that advertises live VLink endpoints. 更多...
类 | |
| class | vlink::DiscoveryReporter |
| Periodic multicast broadcaster of the process's active VLink endpoints. 更多... | |
命名空间 | |
| vlink | |
Process-wide discovery broadcaster that advertises live VLink endpoints.
DiscoveryReporter is the announce side of the VLink discovery subsystem. It runs on a private MessageLoop and emits periodic UDP multicast (default 239.255.0.100) payloads that describe every NodeImpl currently registered in the process: their URLs, communication kind, host name, PID, application name and an optional CPU usage sample. Listeners on the network – typically DiscoveryViewer instances or the vlink-cli tool – consume those payloads to rebuild a live endpoint topology.
Discovery flow:
* NodeImpl::init_ext() ----> DiscoveryReporter::add() * | * v * +-----------+ periodic timer UDP multicast * | loop | ------------------> 239.255.0.100 * +-----------+ * ^ | * | v * NodeImpl::deinit_ext() ----> remove() DiscoveryViewer *
The process reporter is owned by the VLink runtime and is not exposed as a public singleton. add() and remove() are invoked automatically by NodeImpl::init_ext() / NodeImpl::deinit_ext(); normal user code should rarely touch this class directly.
VLINK_DISCOVER_DISABLE=1 to disable the runtime-owned reporter for a given process.