Skip to content

Quick Usage ​

Create and configure a LightVM instance. Complete Installation first.

Using TypeScript ​

For TypeScript projects, configure the constructor or use the chainable configuration methods.

ts
import { LightVM, Capability, TimeBudget } from 'lightvm';

const vm = new LightVM({ caps: [Capability.Observe, Capability.Control] })
  .setMaxTicks(1_000_000)
  .setTimeBudget(TimeBudget.Cheap);
ts
import { LightVM, Capability, TimeBudget } from 'lightvm';

const vm = new LightVM({
  caps: [Capability.Observe, Capability.Control],
  securityConfig: {
    maxTicks: 1_000_000,
    timeBudget: TimeBudget.Cheap,
  },
});

Using Rust ​

For Rust projects, configure VmConfig before creating the VM.

rust
use lightvm::LightVM;
use lightvm::types::{vmconfig::VmConfig, capability::Capability, time_budget::TimeBudget};

fn main() {
  let mut vm = LightVM::new(VmConfig {
    caps: vec![Capability::Control, Capability::Observe],
    ..Default::default()
  })
  .set_max_ticks(1_000_000)
  .set_time_budget(TimeBudget::Cheap);
}
rust
use lightvm::LightVM;
use lightvm::types::{
  vmconfig::VmConfig,
  security_config::SecurityConfig,
  capability::Capability,
  time_budget::TimeBudget
};

fn main() {
  let mut vm = LightVM::new(VmConfig {
    caps: vec![Capability::Control, Capability::Observe],
    security_config: Some(SecurityConfig {
      max_ticks: 1_000_000,
      time_budget: TimeBudget::Cheap,
      ..Default::default()
    }),
    ..Default::default()
  });
}

Detailed Configuration Reference

For a comprehensive breakdown of each configuration option, parameters, and type details in TypeScript, check out the TypeScript Configuration Reference or Rust Configuration Reference.