During long run times (after every 49~ days) the millis() call rollover could leave the cache in a state where it holds its value essentially permanently, unless you get lucky, because m_lastAccess + m_ttl hasn't rolled over, but is still very close to the unsigned long max value.
During long run times (after every 49~ days) the
millis()
call rollover could leave the cache in a state where it holds its value essentially permanently, unless you get lucky, becausem_lastAccess + m_ttl
hasn't rolled over, but is still very close to theunsigned long
max value.