diff options
author | vnugent <public@vaughnnugent.com> | 2023-09-19 22:11:00 -0400 |
---|---|---|
committer | vnugent <public@vaughnnugent.com> | 2023-09-19 22:11:00 -0400 |
commit | 0b4e18b9a7d8e0aea23aef7efd3707674f223b2b (patch) | |
tree | a46aba32c4dee4e593267e34bc5f0830af7353ee /lib/Plugins.Runtime/src/LivePlugin.cs | |
parent | cdeda79bc7d358c617b05b17d24f3f3c79689379 (diff) |
Experimental plugin runtime updates
Diffstat (limited to 'lib/Plugins.Runtime/src/LivePlugin.cs')
-rw-r--r-- | lib/Plugins.Runtime/src/LivePlugin.cs | 25 |
1 files changed, 4 insertions, 21 deletions
diff --git a/lib/Plugins.Runtime/src/LivePlugin.cs b/lib/Plugins.Runtime/src/LivePlugin.cs index 67cacb4..573b520 100644 --- a/lib/Plugins.Runtime/src/LivePlugin.cs +++ b/lib/Plugins.Runtime/src/LivePlugin.cs @@ -25,10 +25,7 @@ using System; using System.Linq; using System.Reflection; -using System.Text.Json; -using VNLib.Utils.IO; -using VNLib.Utils.Extensions; using VNLib.Plugins.Attributes; namespace VNLib.Plugins.Runtime @@ -97,9 +94,8 @@ namespace VNLib.Plugins.Runtime /// Sets the plugin's configuration if it defines a <see cref="ConfigurationInitalizerAttribute"/> /// on an instance method /// </summary> - /// <param name="hostConfig">The host configuration DOM</param> - /// <param name="pluginConf">The plugin local configuration DOM</param> - internal void InitConfig(JsonDocument hostConfig, JsonDocument pluginConf) + /// <param name="configData">The host configuration DOM</param> + internal void InitConfig(ReadOnlySpan<byte> configData) { //Get the console handler method from the plugin instance MethodInfo? confHan = PluginType.GetMethods().Where(static m => m.GetCustomAttribute<ConfigurationInitalizerAttribute>() != null) @@ -109,23 +105,10 @@ namespace VNLib.Plugins.Runtime if (configInit == null) { return; - } - - //Merge configurations before passing to plugin - using JsonDocument merged = hostConfig.Merge(pluginConf, "host", PluginType.Name); - - //Write the config to binary to pass it to the plugin - using VnMemoryStream vms = new(); - using (Utf8JsonWriter writer = new(vms)) - { - merged.WriteTo(writer); - } - - //Reset memstream - vms.Seek(0, System.IO.SeekOrigin.Begin); + } //Invoke - configInit.Invoke(vms.AsSpan()); + configInit.Invoke(configData); } /// <summary> |