Reconnect. Move timeout stuff to utils.py