diff options
author | vnugent <public@vaughnnugent.com> | 2023-06-16 13:33:43 -0400 |
---|---|---|
committer | vnugent <public@vaughnnugent.com> | 2023-06-16 13:33:43 -0400 |
commit | 44f25885437d6d09ea04cf74db4556df95821d56 (patch) | |
tree | b7876edf7b36f0c56ec9bcd947dcbcbb4a9b6a1f /lib/Plugins.PluginBase/src/PluginBase.cs | |
parent | abbfe728fde9e0a5643b3c4e85d1cd27b15c59f4 (diff) |
Some tcp buf, minor bits and bobs
Diffstat (limited to 'lib/Plugins.PluginBase/src/PluginBase.cs')
-rw-r--r-- | lib/Plugins.PluginBase/src/PluginBase.cs | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/lib/Plugins.PluginBase/src/PluginBase.cs b/lib/Plugins.PluginBase/src/PluginBase.cs index 37dafc6..d2564a6 100644 --- a/lib/Plugins.PluginBase/src/PluginBase.cs +++ b/lib/Plugins.PluginBase/src/PluginBase.cs @@ -38,11 +38,12 @@ using VNLib.Plugins.Attributes; namespace VNLib.Plugins { + /// <summary> /// Provides a concrete base class for <see cref="IPlugin"/> instances using the Serilog logging provider. /// Accepts the standard plugin <see cref="JsonDocument"/> configuration constructors /// </summary> - public abstract class PluginBase : MarshalByRefObject, IPlugin + public abstract class PluginBase : MarshalByRefObject, IPlugin, IPluginTaskObserver { /* * CTS exists for the life of the plugin, its resources are never disposed @@ -90,9 +91,7 @@ namespace VNLib.Plugins /// </summary> public JsonElement PluginConfig => Configuration.RootElement.GetProperty(GetType().Name); - /// <summary> /// <inheritdoc/> - /// </summary> public abstract string PluginName { get; } /// <summary> @@ -340,10 +339,7 @@ namespace VNLib.Plugins } } - /// <summary> - /// Adds a task to the observation list - /// </summary> - /// <param name="task">The task to observe</param> + ///<inheritdoc/> public void ObserveTask(Task task) { lock (DeferredTasks) @@ -352,10 +348,7 @@ namespace VNLib.Plugins } } - /// <summary> - /// Removes a task from the task observation list - /// </summary> - /// <param name="task">The task to remove</param> + ///<inheritdoc/> public void RemoveObservedTask(Task task) { lock (DeferredTasks) @@ -379,10 +372,12 @@ namespace VNLib.Plugins /// </para> /// </summary> protected abstract void OnLoad(); + /// <summary> /// Invoked when all endpoints have been removed from service. All managed and unmanged resources should be released. /// </summary> protected abstract void OnUnLoad(); + /// <summary> /// Invoked before <see cref="IPlugin.GetEndpoints"/> called by the host app to get all endpoints /// for the current plugin |