pub struct LuaRuntime { /* private fields */ }Expand description
A Lua state with parser and standard libraries installed.
Implementations§
Source§impl LuaRuntime
impl LuaRuntime
Sourcepub fn new() -> Result<Self>
pub fn new() -> Result<Self>
Create a Lua runtime with parser and standard libraries installed.
This installs no explicit host hooks. For a strict sandbox, construct
with LuaRuntime::with_hooks and audit the native compatibility
fallbacks in lua-stdlib.
Sourcepub fn with_hooks(hooks: HostHooks) -> Result<Self>
pub fn with_hooks(hooks: HostHooks) -> Result<Self>
Create a Lua runtime with the supplied host capabilities.
pub fn state(&self) -> &LuaState
pub fn state_mut(&mut self) -> &mut LuaState
pub fn into_state(self) -> LuaState
pub fn into_lua(self) -> Lua
Sourcepub fn exec(&mut self, source: &[u8], name: &[u8]) -> Result<()>
pub fn exec(&mut self, source: &[u8], name: &[u8]) -> Result<()>
Load and execute a Lua source chunk.
Sourcepub fn install_sandbox(&mut self, config: SandboxConfig) -> Result<()>
pub fn install_sandbox(&mut self, config: SandboxConfig) -> Result<()>
Apply sandbox limits to this runtime — the lower-level equivalent of
Lua::install_sandbox. Strips the configured globals and installs the
runtime-wide instruction/memory budget (enforced on every thread,
uncatchable). Use sandbox_tripped after a run
to learn which limit, if any, stopped it, and
sandbox_reset to refill the budget before the
next run.
Sourcepub fn sandbox_tripped(&self) -> Option<TripReason>
pub fn sandbox_tripped(&self) -> Option<TripReason>
Which sandbox limit (if any) aborted the most recent run.
Sourcepub fn sandbox_reset(&self)
pub fn sandbox_reset(&self)
Refill the instruction budget to its configured limit and clear the trip flag, so the same runtime can run another chunk.