From 38f5591dda9ac01fe26924c30e3262cea298404b Mon Sep 17 00:00:00 2001 From: Pavel Kirienko Date: Fri, 19 Feb 2016 12:35:44 +0300 Subject: [PATCH] Optimized default timeouts --- .../protocol/dynamic_node_id_server/abstract_server.hpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libuavcan/include/uavcan/protocol/dynamic_node_id_server/abstract_server.hpp b/libuavcan/include/uavcan/protocol/dynamic_node_id_server/abstract_server.hpp index 505642c6f..cf61e8771 100644 --- a/libuavcan/include/uavcan/protocol/dynamic_node_id_server/abstract_server.hpp +++ b/libuavcan/include/uavcan/protocol/dynamic_node_id_server/abstract_server.hpp @@ -67,7 +67,8 @@ class AbstractServer : protected IAllocationRequestHandler */ bool guessIfAllDynamicNodesAreAllocated( const MonotonicDuration& allocation_activity_timeout = - MonotonicDuration::fromMSec(protocol::NodeStatus::OFFLINE_TIMEOUT_MS)) const + MonotonicDuration::fromMSec(Allocation::MAX_REQUEST_PERIOD_MS * 2), + const MonotonicDuration& min_uptime = MonotonicDuration::fromMSec(6000)) const { const MonotonicTime ts = node_.getMonotonicTime(); @@ -75,7 +76,7 @@ class AbstractServer : protected IAllocationRequestHandler * If uptime is not large enough, the allocator may be unaware about some nodes yet. */ const MonotonicDuration uptime = ts - started_at_; - if (uptime < allocation_activity_timeout) + if (uptime < max(allocation_activity_timeout, min_uptime)) { return false; }