Expand description
§Hello message
The Hello message is used to advertise the locators a zenoh node is reachable at.
The Hello message SHOULD be sent in a unicast fashion in response to a super::Scout
message as shown below:
A B C
| SCOUT | |
|------------------>| |
| \---------------------------->|
| | |
| HELLO | |
|<------------------| |
| | HELLO |
|<--------------------------------------|
| | |Moreover, a Hello message MAY be sent in the network in a multicast
fashion to advertise the presence of zenoh node. The advertisement operation MAY be performed
periodically as shown below:
A B C
| HELLO | |
|------------------>| |
| \---------------------------->|
| | |
~ ... ~ ... ~
| | |
| HELLO | |
|------------------>| |
| \---------------------------->|
| | |
~ ... ~ ... ~
| | |Examples of locators included in the Hello message are:
udp/192.168.1.1:7447
tcp/192.168.1.1:7447
udp/224.0.0.224:7447
tcp/localhost:7447The Hello message structure is defined as follows:
Header flags:
- L: Locators If L==1 then the list of locators is present, else the src address is the locator
- X: Reserved
- Z: Extensions If Z==1 then zenoh extensions will follow.
7 6 5 4 3 2 1 0
+-+-+-+-+-+-+-+-+
|Z|X|L| HELLO |
+-+-+-+---------+
| version |
+---------------+
|zid_len|X|X|wai| (*)
+-+-+-+-+-+-+-+-+
~ [u8] ~ -- ZenohID
+---------------+
~ <utf8;z8> ~ if Flag(L)==1 -- List of locators
+---------------+
(*) WhatAmI. It indicates the role of the zenoh node sending the HELLO message.
The valid WhatAmI values are:
- 0b00: Router
- 0b01: Peer
- 0b10: Client
- 0b11: Reserved