diff options
author | vnugent <public@vaughnnugent.com> | 2023-03-09 01:48:28 -0500 |
---|---|---|
committer | vnugent <public@vaughnnugent.com> | 2023-03-09 01:48:28 -0500 |
commit | 5ddef0fcb742e77b99a0e17015d2eea0a1d4131a (patch) | |
tree | c1c88284b11b70d9f373215d8d54e8a168cc5700 /lib/Plugins.Essentials.ServiceStack/src/IServiceHost.cs | |
parent | dab71d5597fdfbe71f6ac310a240835716e952a5 (diff) |
Omega cache, session, and account provider complete overhaul
Diffstat (limited to 'lib/Plugins.Essentials.ServiceStack/src/IServiceHost.cs')
-rw-r--r-- | lib/Plugins.Essentials.ServiceStack/src/IServiceHost.cs | 32 |
1 files changed, 27 insertions, 5 deletions
diff --git a/lib/Plugins.Essentials.ServiceStack/src/IServiceHost.cs b/lib/Plugins.Essentials.ServiceStack/src/IServiceHost.cs index 0c8d6c1..bb4f65f 100644 --- a/lib/Plugins.Essentials.ServiceStack/src/IServiceHost.cs +++ b/lib/Plugins.Essentials.ServiceStack/src/IServiceHost.cs @@ -1,5 +1,5 @@ /* -* Copyright (c) 2022 Vaughn Nugent +* Copyright (c) 2023 Vaughn Nugent * * Library: VNLib * Package: VNLib.Plugins.Essentials.ServiceStack @@ -22,21 +22,43 @@ * along with this program. If not, see https://www.gnu.org/licenses/. */ +using VNLib.Net.Http; + namespace VNLib.Plugins.Essentials.ServiceStack { /// <summary> - /// Represents a host that exposes a processor for host events + /// Represents an HTTP service host which provides information required + /// for HttpServer routing and the <see cref="IWebRoot"/> for proccessing + /// incomming connections /// </summary> public interface IServiceHost { /// <summary> - /// The <see cref="EventProcessor"/> to process - /// incoming HTTP connections + /// The <see cref="IWebRoot"/> that handles HTTP connection + /// processing. /// </summary> - EventProcessor Processor { get; } + IWebRoot Processor { get; } + /// <summary> /// The host's transport infomration /// </summary> IHostTransportInfo TransportInfo { get; } + + /// <summary> + /// Called when a plugin is loaded and is endpoints are extracted + /// to be placed into service. + /// </summary> + /// <param name="plugin">The loaded plugin ready to be attached</param> + /// <param name="endpoints">The dynamic endpoints of a loading plugin</param> + void OnRuntimeServiceAttach(IManagedPlugin plugin, IEndpoint[] endpoints); + + /// <summary> + /// Called when a <see cref="ServiceDomain"/>'s <see cref="IPluginManager"/> + /// unloads a given plugin, and its originally discovered endpoints + /// </summary> + /// <param name="plugin">The unloading plugin to detach</param> + /// <param name="endpoints">The endpoints of the unloading plugin to remove from service</param> + void OnRuntimeServiceDetach(IManagedPlugin plugin, IEndpoint[] endpoints); + } } |