[srp-server] introduce "fast start mode" feature (#11305)

This commit adds "Fast Start Mode" feature for SRP server. This
feature is designed for scenarios where a device, often a mobile
device, needs to act as a provisional SRP server (e.g., functioning
as a temporary Border Router). The SRP server function is enabled
only if no other Border Routers are already providing the SRP
service within the Thread network. A common use case is a mobile
device joining a Thread network where it may be the first, or only,
BR. Importantly, Fast Start Mode allows the device to quickly start
its SRP server functionality upon joining the network, allowing other
Thread devices to quickly connect and register their services without
the typical delays associated with standard Border Router
initialization and SRP server startup (using NetData Publisher).
This commit is contained in:
Abtin Keshavarzian
2025-02-28 13:49:30 -08:00
committed by GitHub
parent 31f2897951
commit babbccd4c6
15 changed files with 428 additions and 8 deletions
+4
View File
@@ -151,6 +151,10 @@ void Notifier::EmitEvents(void)
#if OPENTHREAD_CONFIG_SRP_CLIENT_ENABLE
Get<Srp::Client>().HandleNotifierEvents(events);
#endif
#if OPENTHREAD_CONFIG_SRP_SERVER_ENABLE && OPENTHREAD_CONFIG_SRP_SERVER_FAST_START_MODE_ENABLE
Get<Srp::Server>().HandleNotifierEvents(events);
#endif
#if OPENTHREAD_CONFIG_NETDATA_PUBLISHER_ENABLE
// The `NetworkData::Publisher` is notified last (e.g., after SRP
// client) to allow other modules to request changes to what is