Add comment linking engine creating code together

Isaac Clayton created

Change summary

crates/plugin_runtime/build.rs      |  6 +++++-
crates/plugin_runtime/src/plugin.rs | 16 ++++++++++++----
2 files changed, 17 insertions(+), 5 deletions(-)

Detailed changes

crates/plugin_runtime/build.rs 🔗

@@ -48,7 +48,11 @@ fn main() {
     }
 }
 
-fn create_engine() -> Engine {
+/// Creates a default engine for compiling Wasm.
+/// N.B.: this must create the same `Engine` as
+/// the `create_default_engine` function
+/// in `plugin_runtime/src/plugin.rs`.
+fn create_default_engine() -> Engine {
     let mut config = Config::default();
     config.async_support(true);
     // config.epoch_interruption(true);

crates/plugin_runtime/src/plugin.rs 🔗

@@ -64,14 +64,22 @@ pub struct PluginBuilder {
     linker: Linker<WasiCtxAlloc>,
 }
 
+/// Creates a default engine for compiling Wasm.
+/// N.B.: this must create the same `Engine` as
+/// the `create_default_engine` function
+/// in `plugin_runtime/build.rs`.
+pub fn create_default_engine() -> Result<Engine, Error> {
+    let mut config = Config::default();
+    config.async_support(true);
+    // config.epoch_interruption(true);
+    Engine::new(&config)
+}
+
 impl PluginBuilder {
     /// Create a new [`PluginBuilder`] with the given WASI context.
     /// Using the default context is a safe bet, see [`new_with_default_context`].
     pub fn new(wasi_ctx: WasiCtx) -> Result<Self, Error> {
-        let mut config = Config::default();
-        config.async_support(true);
-        // config.epoch_interruption(true);
-        let engine = Engine::new(&config)?;
+        let engine = create_default_engine()?;
         let linker = Linker::new(&engine);
 
         Ok(PluginBuilder {