| 1788 | } |
| 1789 | |
| 1790 | static uint64_t GetBrowserRefreshDeadline(const Browser* browser) |
| 1791 | { |
| 1792 | uint64_t deadline = 0; |
| 1793 | |
| 1794 | for (uint32_t i = 0; i < browser->m_Hosts.Size(); ++i) |
| 1795 | { |
| 1796 | const BrowserHost& host = browser->m_Hosts[i]; |
| 1797 | if (host.m_Refresh != 0 && (deadline == 0 || host.m_Refresh < deadline)) |
| 1798 | deadline = host.m_Refresh; |
| 1799 | } |
| 1800 | |
| 1801 | for (uint32_t i = 0; i < browser->m_Services.Size(); ++i) |
| 1802 | { |
| 1803 | const BrowserService& service = browser->m_Services[i]; |
| 1804 | if (service.m_PtrRefresh != 0 && (deadline == 0 || service.m_PtrRefresh < deadline)) |
| 1805 | deadline = service.m_PtrRefresh; |
| 1806 | if (service.m_SrvRefresh != 0 && (deadline == 0 || service.m_SrvRefresh < deadline)) |
| 1807 | deadline = service.m_SrvRefresh; |
| 1808 | if (service.m_TxtRefresh != 0 && (deadline == 0 || service.m_TxtRefresh < deadline)) |
| 1809 | deadline = service.m_TxtRefresh; |
| 1810 | } |
| 1811 | |
| 1812 | return deadline; |
| 1813 | } |
| 1814 | |
| 1815 | static void RescheduleBrowserRefresh(uint64_t* refresh, uint64_t expires, uint64_t now, uint64_t retry_at) |
| 1816 | { |