libsurfer/cxxrtl/
command.rs
1use serde::Serialize;
2
3use super::timestamp::CxxrtlTimestamp;
4
5#[derive(Serialize, Debug)]
6#[allow(non_camel_case_types, unused)]
7pub(crate) enum Diagnostic {
8 assert,
9 assume,
10 print,
11}
12
13#[derive(Serialize, Debug)]
14#[serde(tag = "command")]
15#[allow(non_camel_case_types)]
16pub(crate) enum CxxrtlCommand {
17 list_scopes {
18 scope: Option<String>,
19 },
20 list_items {
21 scope: Option<String>,
22 },
23 get_simulation_status,
24 query_interval {
25 interval: (CxxrtlTimestamp, CxxrtlTimestamp),
26 collapse: bool,
27 items: Option<String>,
28 item_values_encoding: &'static str,
29 diagnostics: bool,
30 },
31 reference_items {
32 reference: String,
33 items: Vec<Vec<String>>,
34 },
35 run_simulation {
36 until_time: Option<CxxrtlTimestamp>,
37 until_diagnostics: Vec<Diagnostic>,
38 sample_item_values: bool,
39 },
40 pause_simulation,
41}