private bool EnqueueRetry() { bool flag = false; int retryDelay = this.GetRetryDelay(); if (this.timeoutHelper.RemainingTime().TotalMilliseconds <= retryDelay) { return(flag); } this.sqlCommand.Dispose(); new IOThreadTimer(new Action <object>(SqlCommandAsyncResult.StartCommandCallback), new SqlCommandAsyncResult(CloneSqlCommand(this.sqlCommand), this.connectionString, this.dependentTransaction, this.timeoutHelper.RemainingTime(), this.retryCount, this.maximumRetries, base.PrepareAsyncCompletion(onRetryCommandCallback), this), false).Set(retryDelay); if (TD.QueingSqlRetryIsEnabled()) { TD.QueingSqlRetry(retryDelay.ToString(CultureInfo.InvariantCulture)); } return(true); }