Decide flow between scan/eventuality/report

Scan now only handles External outputs, with an associated essay going over
why. Scan directly creates the InInstruction (prior planned to be done in
Report), and Eventuality is declared to end up yielding the outputs.

That will require making the Eventuality flow two-stage. One stage to evaluate
existing Eventualities and yield outputs, and one stage to incorporate new
Eventualities before advancing the scan window.
This commit is contained in:
Luke Parker
2024-08-23 20:30:06 -04:00
parent f2ee4daf43
commit bc0cc5a754
6 changed files with 350 additions and 167 deletions

View File

@@ -40,6 +40,20 @@ impl<D: Db, S: ScannerFeed> ContinuallyRan for ReportTask<D, S> {
for b in next_to_potentially_report ..= highest_reportable {
if ScannerDb::<S>::is_block_notable(&self.db, b) {
let outputs = todo!("TODO");
let in_instructions_to_report = vec![];
for output in outputs {
match output.kind() {
// These do get reported since the scanner eliminates any which shouldn't be reported
OutputType::External => todo!("TODO"),
// These do not get reported in Batches
OutputType::Branch | OutputType::Change => {}
// These now get reported if they're legitimately forwarded
OutputType::Forwarded => {
todo!("TODO")
}
}
}
todo!("TODO: Make Batches, which requires handling Forwarded within this crate");
}