network_manager: Allow faster non-reconfiguration reloads

The main reason we wait so long for reloads is because we need to be
sure it captures all of the reconfiguration data. Delay the reload timer
around reconfiguration to ensure we can lower the value sanely for
non-reconfiguration reloads.

Change-Id: I9b68d9330ee89e52f5adf364941a39b65eb8a336
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/src/network_manager.cpp b/src/network_manager.cpp
index 6e7deeb..89925b2 100644
--- a/src/network_manager.cpp
+++ b/src/network_manager.cpp
@@ -35,6 +35,7 @@
 namespace network
 {
 
+extern std::unique_ptr<Timer> refreshObjectTimer;
 extern std::unique_ptr<Timer> reloadTimer;
 using namespace phosphor::logging;
 using namespace sdbusplus::xyz::openbmc_project::Common::Error;
@@ -268,6 +269,8 @@
 void Manager::reloadConfigs()
 {
     reloadTimer->restartOnce(reloadTimeout);
+    // Ensure that the next refresh happens after reconfiguration
+    refreshObjectTimer->setRemaining(reloadTimeout + refreshTimeout);
 }
 
 void Manager::doReloadConfigs()
@@ -297,6 +300,8 @@
                         entry("ERR=%s", ex.what()));
         elog<InternalFailure>();
     }
+    // Ensure reconfiguration has enough time
+    refreshObjectTimer->setRemaining(refreshTimeout);
 }
 
 } // namespace network