Expose wasmtime cache configuration in the C API (#1606)

This adds a new `wasmtime_config_cache_config_load` C API function to
allow enabling and configuring the cache via the API. This was
originally requested over at bytecodealliance/wasmtime-py#3
This commit is contained in:
Alex Crichton
2020-04-28 11:04:49 -05:00
committed by GitHub
parent a1f3f06878
commit 93bf6b568f
2 changed files with 22 additions and 0 deletions

View File

@@ -1,4 +1,6 @@
use crate::{handle_result, wasmtime_error_t};
use std::ffi::CStr;
use std::os::raw::c_char;
use wasmtime::{Config, OptLevel, ProfilingStrategy, Strategy};
#[repr(C)]
@@ -126,3 +128,21 @@ pub extern "C" fn wasmtime_config_profiler_set(
});
handle_result(result, |_cfg| {})
}
#[no_mangle]
pub unsafe extern "C" fn wasmtime_config_cache_config_load(
c: &mut wasm_config_t,
filename: *const c_char,
) -> Option<Box<wasmtime_error_t>> {
handle_result(
if filename.is_null() {
c.config.cache_config_load_default()
} else {
match CStr::from_ptr(filename).to_str() {
Ok(s) => c.config.cache_config_load(s),
Err(e) => Err(e.into()),
}
},
|_cfg| {},
)
}