aboutsummaryrefslogtreecommitdiff
path: root/VNLib.Plugins.Extensions.Loading/Events/IIntervalScheduleable.cs
diff options
context:
space:
mode:
authorLibravatar vman <public@vaughnnugent.com>2022-11-16 14:07:28 -0500
committerLibravatar vman <public@vaughnnugent.com>2022-11-16 14:07:28 -0500
commit3fb601d14354c867e1ead94b027c99c4a2fc15b5 (patch)
tree5bf01312166d97eff255d1fdcd26bf314cebcf76 /VNLib.Plugins.Extensions.Loading/Events/IIntervalScheduleable.cs
parentc3419e3e43f773ba9ee1e4854e15da873829fbd7 (diff)
Add project files.
Diffstat (limited to 'VNLib.Plugins.Extensions.Loading/Events/IIntervalScheduleable.cs')
-rw-r--r--VNLib.Plugins.Extensions.Loading/Events/IIntervalScheduleable.cs21
1 files changed, 21 insertions, 0 deletions
diff --git a/VNLib.Plugins.Extensions.Loading/Events/IIntervalScheduleable.cs b/VNLib.Plugins.Extensions.Loading/Events/IIntervalScheduleable.cs
new file mode 100644
index 0000000..1ab679c
--- /dev/null
+++ b/VNLib.Plugins.Extensions.Loading/Events/IIntervalScheduleable.cs
@@ -0,0 +1,21 @@
+using System.Threading;
+using System.Threading.Tasks;
+
+using VNLib.Utils.Logging;
+
+namespace VNLib.Plugins.Extensions.Loading.Events
+{
+ /// <summary>
+ /// Exposes a type for asynchronous event schelueling
+ /// </summary>
+ public interface IIntervalScheduleable
+ {
+ /// <summary>
+ /// A method that is called when the interval time has elapsed
+ /// </summary>
+ /// <param name="log">The plugin default log provider</param>
+ /// <param name="cancellationToken">A token that may cancel an operations if the plugin becomes unloaded</param>
+ /// <returns>A task that resolves when the async operation completes</returns>
+ Task OnIntervalAsync(ILogProvider log, CancellationToken cancellationToken);
+ }
+}