private async Task<Packet> InitializeServerAsync()
{
bool success = true;
RemoteServerInfo info = null;
try
{
info = _server.GetServerEndPoint(this);
}
catch (Exception ex)
{
_quitMessagePosted = true;
_logger.Error("Could not get remote server info", ex);
success = false;
}
if (success)
{
try
{
return await InitializeServerAsync(info);
}
catch (Exception ex)
{
_quitMessagePosted = true;
_logger.Error(string.Format("Could not connect to remote server ({0})", info.EndPoint), ex);
success = false;
}
}
if (!success)
await KickUserAsync("Could not connect to remote server");
throw new TaskCanceledException ();
}