Coverage for wasmtime/_engine.py: 100%
18 statements
« prev ^ index » next coverage.py v7.6.12, created at 2025-02-20 16:25 +0000
« prev ^ index » next coverage.py v7.6.12, created at 2025-02-20 16:25 +0000
1from . import _ffi as ffi
2from wasmtime import Config, WasmtimeError, Managed
3from typing import Optional
4import ctypes
7class Engine(Managed["ctypes._Pointer[ffi.wasm_engine_t]"]):
9 def __init__(self, config: Optional[Config] = None):
10 if config is None:
11 self._set_ptr(ffi.wasm_engine_new())
12 elif not isinstance(config, Config):
13 raise TypeError("expected Config")
14 else:
15 ptr = config._consume()
16 self._set_ptr(ffi.wasm_engine_new_with_config(ptr))
18 def _delete(self, ptr: "ctypes._Pointer[ffi.wasm_engine_t]") -> None:
19 ffi.wasm_engine_delete(ptr)
21 def increment_epoch(self) -> None:
22 ffi.wasmtime_engine_increment_epoch(self.ptr())
24 def is_pulley(self) -> bool:
25 return ffi.wasmtime_engine_is_pulley(self.ptr())