3.1.2 Timers
Each receiving node MUST have the following timers:
-
This timer SHOULD be triggered immediately when a node is first opened to perform the initial maintenance. If the initial maintenance succeeds in establishing at least one neighbor connection, this timer SHOULD be set to 5 minutes. If the initial maintenance fails to establish any neighbor connections, the second maintenance SHOULD be scheduled after 10 seconds.
Note After the second maintenance, this timer SHOULD be set to 5 minutes, whether a neighbor connection is established or not.
This timer is used to regularly run the maintenance cycle, which examines the neighbor connection set and tunes it for optimal throughput. The duration SHOULD be 5 minutes.
The timer SHOULD<2> be triggered immediately if the number of connected neighbors falls below MinNeighborCount.
When the node successfully joins the mesh and connects to at least one neighbor, the following timer is created:
MessageID Cache timer: A periodic timer used to initiate MessageId cache maintenance. (This removes previously seen MessageIds to maintain a reasonable cache size.) The period of this timer SHOULD be 1 minute.
If the mesh is secured with a password, the following timer is created for each new connection:
Security Handshake timer: Used to close the connection if the remote neighbor does not send a timely response during the authentication protocol. The period SHOULD be 1 minute.
For each connection where the ConnectionState data element is set to the Authenticated value, the following timer is created:
Connect Handshake timer: This timer exists to close the connection if the remote neighbor does not send a timely response. The period SHOULD be 1 minute.
For each connection where the ConnectionState data element is set to the Connected value, the following timer is created:
LinkUtility timer: This timer exists for each neighbor connection and is used to send a LinkUtility message at regular intervals. The period SHOULD be 1 minute.