ignore .settings
tweak reconnection mechanism

don't sleep in i/o thread anymore, instead use an executor to run the reconnection code.