pub type RunUnit<'w> = RunUnit<'w, Rc<Compiled>, Library>;Aliased Type§
pub struct RunUnit<'w> {Show 28 fields
pub mem: Vec<u8>,
pub depth: usize,
pub programs: Vec<Loaded<Rc<Compiled>>>,
pub library: Library,
pub dds: Dds,
pub sysin: Option<Box<dyn BufRead + 'w>>,
pub clock: Clock,
pub out: &'w mut dyn Write,
pub err: &'w mut dyn Write,
pub cics: Option<Task>,
pub eib: usize,
pub cics_files: HashMap<String, Open>,
pub sql: Option<Session<'w>>,
pub le: State,
pub oo: Objects<Rc<ClassCode<Rc<Compiled>>>>,
pub observer: Option<Box<dyn FnMut(Event<'_>) + 'w>>,
pub random: Option<u32>,
pub main: Option<usize>,
pub calls: Vec<usize>,
pub argument_lengths: Vec<usize>,
pub argument_starts: Vec<usize>,
pub arguments: Arguments,
pub crt: Option<Rc<RefCell<Crt>>>,
pub environment: Environment,
pub entries: Vec<Entry>,
pub statements: Option<StatementFilter>,
pub taint: Option<Taint>,
pub statement_limit: Option<u64>,
/* private fields */
}Fields§
§mem: Vec<u8>§depth: usizePERFORMs and CALLs in progress, across every program.
programs: Vec<Loaded<Rc<Compiled>>>§library: Library§dds: Dds§sysin: Option<Box<dyn BufRead + 'w>>§clock: Clock§out: &'w mut dyn Write§err: &'w mut dyn Write§cics: Option<Task>The CICS task a harness run stands in for, with its EXEC interface block and open files.
eib: usize§cics_files: HashMap<String, Open>§sql: Option<Session<'w>>The database EXEC SQL statements reach, when the run has one.
le: StateLanguage Environment’s heap storage and message files.
oo: Objects<Rc<ClassCode<Rc<Compiled>>>>Classes, objects and the JNI environment of the run unit’s object-oriented programs.
observer: Option<Box<dyn FnMut(Event<'_>) + 'w>>Told what the run opens, closes and loads, when a caller keeps evidence of it.
random: Option<u32>FUNCTION RANDOM’s generator, one for the run unit, from the first reference on.
main: Option<usize>The first program activated, the run unit’s main program.
calls: Vec<usize>The programs CALLs, functions and INVOKEs in progress entered, outermost first.
argument_lengths: Vec<usize>The length of each argument the entries in calls were passed, 0 for one omitted, each
entry’s from its start in argument_starts.
argument_starts: Vec<usize>§arguments: ArgumentsThe job step’s program arguments, which ACCEPT … FROM COMMAND-LINE and ARGUMENT-VALUE read
under --compliance extended; empty without a PARM.
crt: Option<Rc<RefCell<Crt>>>The screen positioned DISPLAY and ACCEPT use under --compliance extended, and the operator
a screen script plays; None until one is given or the run first uses the screen.
environment: EnvironmentThe environment variables ACCEPT … FROM ENVIRONMENT reads under --compliance extended.
entries: Vec<Entry>The entries SET TO ENTRY has named, which function-pointers and procedure-pointers hold.
statements: Option<StatementFilter>The statements an observer is told of as each starts; None tells it of none.
taint: Option<Taint>Which bytes may hold input, when the run traces input.
statement_limit: Option<u64>How many more statements may start before the run ends with S322; None for no limit.