aboutsummaryrefslogtreecommitdiff
path: root/lib/Plugins.Runtime/src/LivePlugin.cs
diff options
context:
space:
mode:
authorLibravatar vnugent <public@vaughnnugent.com>2023-09-19 22:11:00 -0400
committerLibravatar vnugent <public@vaughnnugent.com>2023-09-19 22:11:00 -0400
commit0b4e18b9a7d8e0aea23aef7efd3707674f223b2b (patch)
treea46aba32c4dee4e593267e34bc5f0830af7353ee /lib/Plugins.Runtime/src/LivePlugin.cs
parentcdeda79bc7d358c617b05b17d24f3f3c79689379 (diff)
Experimental plugin runtime updates
Diffstat (limited to 'lib/Plugins.Runtime/src/LivePlugin.cs')
-rw-r--r--lib/Plugins.Runtime/src/LivePlugin.cs25
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>