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();
}
}