moved all reconnecting related code to RpcService