Better reconnection behavior. Add cancel_timeout.