using System.Runtime.CompilerServices; namespace Unity.Services.Core { /// /// Contract for objects allowing to use the keyword on an . /// /// /// For more information, see /// interface IAsyncOperationAwaiter : ICriticalNotifyCompletion { /// bool IsCompleted { get; } /// /// Get the operation's current result. /// /// /// * Does nothing on success but must be declared to match the awaiter pattern. /// * Is expected to throw if the operation failed or has been canceled. /// void GetResult(); } /// /// Contract for objects allowing to use the keyword on an . /// /// /// The result's type of the awaited operation. /// /// /// For more information, see /// interface IAsyncOperationAwaiter : ICriticalNotifyCompletion { /// bool IsCompleted { get; } /// /// Get the operation's current result. /// /// /// Return the operation's current . /// /// /// Is expected to throw if the operation failed or has been canceled. /// T GetResult(); } }