Esempio n. 1
0
 public void ToAwaiter <TResult>(EffAwaiter <TResult> awaiter)
 {
     if (Exception is Exception e)
     {
         awaiter.SetException(e);
     }
     else
     {
         awaiter.SetResult((TResult)Value !);
     }
 }
Esempio n. 2
0
        ///<summary>
        ///  Hydrates an incomplete awaiter instance with the persisted result.
        ///</summary>
        public void WriteToAwaiter <TResult>(EffAwaiter <TResult> awaiter)
        {
            if (awaiter.IsCompleted)
            {
                throw new ArgumentException("EffAwaiter is in completed state.", nameof(awaiter));
            }

            if (IsException)
            {
                var exn = JsonConvert.DeserializeObject <Exception>(Value);
                awaiter.SetException(exn);
            }
            else
            {
                var value = JsonConvert.DeserializeObject <TResult>(Value);
                awaiter.SetResult(value !);
            }
        }