diff options
author | vnugent <public@vaughnnugent.com> | 2024-05-15 22:04:43 -0400 |
---|---|---|
committer | vnugent <public@vaughnnugent.com> | 2024-05-15 22:04:43 -0400 |
commit | 69f13e43dfdd8069459800ccc3039f45fc884814 (patch) | |
tree | 90363ca9fa7c89e635393465b62e4e8cbe5e6779 /lib/VNLib.Plugins.Extensions.Loading/src/IAsyncLazy.cs | |
parent | c848787d4830a73e9ba93898897282be2f3752f2 (diff) |
fix: #3 Defer vault loading until a secret actually needs it
Diffstat (limited to 'lib/VNLib.Plugins.Extensions.Loading/src/IAsyncLazy.cs')
-rw-r--r-- | lib/VNLib.Plugins.Extensions.Loading/src/IAsyncLazy.cs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/VNLib.Plugins.Extensions.Loading/src/IAsyncLazy.cs b/lib/VNLib.Plugins.Extensions.Loading/src/IAsyncLazy.cs index 482785c..cb907b9 100644 --- a/lib/VNLib.Plugins.Extensions.Loading/src/IAsyncLazy.cs +++ b/lib/VNLib.Plugins.Extensions.Loading/src/IAsyncLazy.cs @@ -52,6 +52,12 @@ namespace VNLib.Plugins.Extensions.Loading /// If the operation has not completed, throws an exception. /// </summary> T Value { get; } + + /// <summary> + /// Gets or allocates a task that represents the async result + /// </summary> + /// <returns>A task that represents the asynchronous lazy result that completes with the resulting value</returns> + Task<T> AsTask(); } /// <summary> @@ -141,6 +147,9 @@ namespace VNLib.Plugins.Extensions.Loading ///<inheritdoc/> public TaskAwaiter<T> GetAwaiter() => _task.GetAwaiter(); + + ///<inheritdoc/> + public Task<T> AsTask() => _task; } #nullable enable |