Exemple #1
0
 /// <summary>
 /// Marks the specified <see cref="IPromise"/> as success. If the
 /// <see cref="IPromise"/> is done already, logs a message.
 /// </summary>
 /// <param name="promise">The <see cref="IPromise"/> to complete.</param>
 /// <param name="logger">The <see cref="IInternalLogger"/> to use to log a failure message.</param>
 public static void SafeSetSuccess(IPromise promise, IInternalLogger logger)
 {
     if (!promise.IsVoid && !promise.TryComplete() && logger is object)
     {
         logger.FailedToMarkAPromiseAsSuccess(promise);
     }
 }
Exemple #2
0
 /// <summary>
 /// Try to mark the <see cref="IPromise"/> as success and log if <paramref name="logger"/> is not <c>null</c> in case this fails.
 /// </summary>
 /// <param name="p"></param>
 /// <param name="logger"></param>
 public static void TrySuccess(IPromise p, IInternalLogger logger)
 {
     if (!p.TryComplete() && logger is object)
     {
         logger.FailedToMarkAPromiseAsSuccess(p);
     }
 }
Exemple #3
0
 /// <summary>
 /// Marks the specified <see cref="IPromise"/> as success. If the
 /// <see cref="IPromise"/> is done already, logs a message.
 /// </summary>
 /// <param name="promise">The <see cref="IPromise"/> to complete.</param>
 /// <param name="logger">The <see cref="IInternalLogger"/> to use to log a failure message.</param>
 public static void SafeSetSuccess(IPromise promise, IInternalLogger logger)
 {
     if (!promise.IsVoid && !promise.TryComplete() && logger.WarnEnabled)
     {
         var err = promise.Task.Exception?.InnerException;
         if (err is null)
         {
             logger.FailedToMarkAPromiseAsSuccess(promise);
         }
         else
         {
             logger.FailedToMarkAPromiseAsSuccessFailed(promise, err);
         }
     }
 }