From 51ee34a3208046e76ccdf2be7932a4c14b4afc39 Mon Sep 17 00:00:00 2001 From: Bart De Smet Date: Thu, 21 Sep 2017 15:04:19 -0700 Subject: [PATCH] Adding awaiter abstractions. --- .../System.Reactive.Bcl/System/IAwaitable.cs | 16 +++++++++++++++ .../System.Reactive.Bcl/System/IAwaiter.cs | 20 +++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 AsyncRx.NET/System.Reactive.Bcl/System/IAwaitable.cs create mode 100644 AsyncRx.NET/System.Reactive.Bcl/System/IAwaiter.cs diff --git a/AsyncRx.NET/System.Reactive.Bcl/System/IAwaitable.cs b/AsyncRx.NET/System.Reactive.Bcl/System/IAwaitable.cs new file mode 100644 index 0000000000..ca97ce7522 --- /dev/null +++ b/AsyncRx.NET/System.Reactive.Bcl/System/IAwaitable.cs @@ -0,0 +1,16 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the Apache 2.0 License. +// See the LICENSE file in the project root for more information. + +namespace System +{ + public interface IAwaitable + { + IAwaiter GetAwaiter(); + } + + public interface IAwaitable + { + IAwaiter GetAwaiter(); + } +} diff --git a/AsyncRx.NET/System.Reactive.Bcl/System/IAwaiter.cs b/AsyncRx.NET/System.Reactive.Bcl/System/IAwaiter.cs new file mode 100644 index 0000000000..ff8ccaabf0 --- /dev/null +++ b/AsyncRx.NET/System.Reactive.Bcl/System/IAwaiter.cs @@ -0,0 +1,20 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the Apache 2.0 License. +// See the LICENSE file in the project root for more information. + +using System.Runtime.CompilerServices; + +namespace System +{ + public interface IAwaiter : INotifyCompletion + { + bool IsCompleted { get; } + void GetResult(); + } + + public interface IAwaiter : INotifyCompletion + { + bool IsCompleted { get; } + T GetResult(); + } +}