aboutsummaryrefslogtreecommitdiff
path: root/Libs/VNLib.Plugins.Essentials.Sessions.Runtime/IRuntimeSessionProvider.cs
diff options
context:
space:
mode:
authorLibravatar vman <public@vaughnnugent.com>2022-10-30 02:28:12 -0400
committerLibravatar vman <public@vaughnnugent.com>2022-10-30 02:28:12 -0400
commita8510fb835dcc5e1142d700164ce5a4bd44e1a25 (patch)
tree28caab320f777a384cb6883b68dd999cdc8c0a3f /Libs/VNLib.Plugins.Essentials.Sessions.Runtime/IRuntimeSessionProvider.cs
Add project files.
Diffstat (limited to 'Libs/VNLib.Plugins.Essentials.Sessions.Runtime/IRuntimeSessionProvider.cs')
-rw-r--r--Libs/VNLib.Plugins.Essentials.Sessions.Runtime/IRuntimeSessionProvider.cs26
1 files changed, 26 insertions, 0 deletions
diff --git a/Libs/VNLib.Plugins.Essentials.Sessions.Runtime/IRuntimeSessionProvider.cs b/Libs/VNLib.Plugins.Essentials.Sessions.Runtime/IRuntimeSessionProvider.cs
new file mode 100644
index 0000000..9941e6a
--- /dev/null
+++ b/Libs/VNLib.Plugins.Essentials.Sessions.Runtime/IRuntimeSessionProvider.cs
@@ -0,0 +1,26 @@
+
+using VNLib.Net.Http;
+using VNLib.Utils.Logging;
+
+namespace VNLib.Plugins.Essentials.Sessions
+{
+ /// <summary>
+ /// Represents a dynamically loadable type that an provide sessions to http connections
+ /// </summary>
+ public interface IRuntimeSessionProvider : ISessionProvider
+ {
+ /// <summary>
+ /// Called immediatly after the plugin is loaded into the appdomain
+ /// </summary>
+ /// <param name="plugin">The plugin instance that is loading the module</param>
+ /// <param name="localizedLog">The localized log provider for the provider</param>
+ void Load(PluginBase plugin, ILogProvider localizedLog);
+
+ /// <summary>
+ /// Determines if the provider can return a session for the connection
+ /// </summary>
+ /// <param name="entity">The entity to process</param>
+ /// <returns>A value indicating if this provider should be called to load a session for</returns>
+ bool CanProcess(IHttpEvent entity);
+ }
+}