mirror of
https://github.com/MikaylaFischler/cc-mek-scada.git
synced 2024-08-30 18:22:34 +00:00
#314 20s grace period for coordinator render to finish to prevent timeouts
This commit is contained in:
parent
d85385c1fe
commit
ac1733c46e
@ -17,6 +17,9 @@ local FAC_COMMAND = comms.FAC_COMMAND
|
|||||||
|
|
||||||
local SV_Q_DATA = svqtypes.SV_Q_DATA
|
local SV_Q_DATA = svqtypes.SV_Q_DATA
|
||||||
|
|
||||||
|
-- grace period in seconds for coordinator to finish UI draw to prevent timeout
|
||||||
|
local WATCHDOG_GRACE = 20.0
|
||||||
|
|
||||||
-- retry time constants in ms
|
-- retry time constants in ms
|
||||||
-- local INITIAL_WAIT = 1500
|
-- local INITIAL_WAIT = 1500
|
||||||
local RETRY_PERIOD = 1000
|
local RETRY_PERIOD = 1000
|
||||||
@ -61,6 +64,7 @@ function coordinator.new_session(id, s_addr, in_queue, out_queue, timeout, facil
|
|||||||
r_seq_num = nil,
|
r_seq_num = nil,
|
||||||
connected = true,
|
connected = true,
|
||||||
conn_watchdog = util.new_watchdog(timeout),
|
conn_watchdog = util.new_watchdog(timeout),
|
||||||
|
establish_time = util.time_s(),
|
||||||
last_rtt = 0,
|
last_rtt = 0,
|
||||||
-- periodic messages
|
-- periodic messages
|
||||||
periodics = {
|
periodics = {
|
||||||
@ -354,7 +358,15 @@ function coordinator.new_session(id, s_addr, in_queue, out_queue, timeout, facil
|
|||||||
-- check if a timer matches this session's watchdog
|
-- check if a timer matches this session's watchdog
|
||||||
---@nodiscard
|
---@nodiscard
|
||||||
function public.check_wd(timer)
|
function public.check_wd(timer)
|
||||||
return self.conn_watchdog.is_timer(timer) and self.connected
|
local is_wd = self.conn_watchdog.is_timer(timer) and self.connected
|
||||||
|
|
||||||
|
-- if we are waiting for initial coordinator UI draw, don't close yet
|
||||||
|
if is_wd and (util.time_s() - self.establish_time) <= WATCHDOG_GRACE then
|
||||||
|
self.conn_watchdog.feed()
|
||||||
|
is_wd = false
|
||||||
|
end
|
||||||
|
|
||||||
|
return is_wd
|
||||||
end
|
end
|
||||||
|
|
||||||
-- close the connection
|
-- close the connection
|
||||||
|
@ -21,7 +21,7 @@ local supervisor = require("supervisor.supervisor")
|
|||||||
|
|
||||||
local svsessions = require("supervisor.session.svsessions")
|
local svsessions = require("supervisor.session.svsessions")
|
||||||
|
|
||||||
local SUPERVISOR_VERSION = "v0.20.4"
|
local SUPERVISOR_VERSION = "v0.20.5"
|
||||||
|
|
||||||
local println = util.println
|
local println = util.println
|
||||||
local println_ts = util.println_ts
|
local println_ts = util.println_ts
|
||||||
|
Loading…
x
Reference in New Issue
Block a user