Basically just test if we are connected every second and reconnect if we
are not.
_try_reconnect = false,
_idle_subsystems = { ... }
}, { __index = mpc })
- self:_connect()
+ self:connect()
return self
end
end
end
-function mpc:_connect()
+function mpc:connect()
if self._connected then return end
-- Reset all of our state
self._reply_handlers = {}
end
function mpc:send(...)
- self:_connect()
+ self:connect()
if not self._connected then
return
end
function widget:error_handler(err)
self._textbox:set_text("Error: " .. tostring(err))
- timer.start_new(10, function()
- self._connection:send("ping")
- end)
+ self._status = {}
end
function widget:run()
end
)
+ self._keep_alive_timer = timer {
+ timeout = 1
+ , autostart = true
+ , callback = function() self._connection:connect() end
+ , call_now = true
+ }
+
self._timer = timer({ timeout = 1 })
self._timer:connect_signal("timeout", function() self:popup_update() end)