enarx-exec-wasmtime 0.6.0

Enarx WebAssembly Loader
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SPDX-License-Identifier: Apache-2.0

use super::{Completed, Connected, Loader};

use anyhow::Result;

impl Loader<Connected> {
    pub fn next(mut self) -> Result<Loader<Completed>> {
        let func = self.0.linker.get_default(&mut self.0.wstore, "")?;

        let mut values = vec![wasmtime::Val::null(); func.ty(&self.0.wstore).results().len()];
        func.call(self.0.wstore, Default::default(), &mut values)?;

        Ok(Loader(Completed { values }))
    }
}