flowrlib::debugger_handler

Trait DebuggerHandler

Source
pub trait DebuggerHandler {
Show 21 methods // Required methods fn start(&mut self); fn job_breakpoint( &mut self, job: &Job, function: &RuntimeFunction, states: Vec<State>, ); fn block_breakpoint(&mut self, block: &Block); fn flow_unblock_breakpoint(&mut self, flow_id: usize); fn send_breakpoint( &mut self, source_function_name: &str, source_function_id: usize, output_route: &str, value: &Value, destination_id: usize, destination_name: &str, io_name: &str, input_number: usize, ); fn job_error(&mut self, job: &Job); fn job_completed(&mut self, job: &Job); fn blocks(&mut self, blocks: Vec<Block>); fn outputs(&mut self, output: Vec<OutputConnection>); fn input(&mut self, input: Input); fn function_list(&mut self, functions: &[RuntimeFunction]); fn function_states( &mut self, function: RuntimeFunction, function_states: Vec<State>, ); fn run_state(&mut self, run_state: &RunState); fn message(&mut self, message: String); fn panic(&mut self, state: &RunState, error_message: String); fn debugger_exiting(&mut self); fn debugger_resetting(&mut self); fn debugger_error(&mut self, error: String); fn execution_starting(&mut self); fn execution_ended(&mut self); fn get_command(&mut self, state: &RunState) -> Result<DebugCommand>;
}
Expand description

Programs that wish to offer a debugger user interface (such as a CLI or UI) should implement this trait. The Coordinator uses it to interact with the client for debugging.

Required Methods§

Source

fn start(&mut self)

Start the debugger - which swallows the first message to initialize the connection

Source

fn job_breakpoint( &mut self, job: &Job, function: &RuntimeFunction, states: Vec<State>, )

a breakpoint has been hit on a Job being created

Source

fn block_breakpoint(&mut self, block: &Block)

A breakpoint set on creation of a Block matching block has been hit

Source

fn flow_unblock_breakpoint(&mut self, flow_id: usize)

A breakpoint set on the unblocking of a flow has been hit

Source

fn send_breakpoint( &mut self, source_function_name: &str, source_function_id: usize, output_route: &str, value: &Value, destination_id: usize, destination_name: &str, io_name: &str, input_number: usize, )

A breakpoint on sending a value from a specific function or to a specific function was hit

Source

fn job_error(&mut self, job: &Job)

A job error occurred during execution of the flow

Source

fn job_completed(&mut self, job: &Job)

A specific job completed

Source

fn blocks(&mut self, blocks: Vec<Block>)

returns a set of blocks

Source

fn outputs(&mut self, output: Vec<OutputConnection>)

returns an output’s connections

Source

fn input(&mut self, input: Input)

returns an inputs state

Source

fn function_list(&mut self, functions: &[RuntimeFunction])

lists all functions

Source

fn function_states( &mut self, function: RuntimeFunction, function_states: Vec<State>, )

returns the state of a function

Source

fn run_state(&mut self, run_state: &RunState)

returns the global run state

Source

fn message(&mut self, message: String)

a string message from the Debugger

Source

fn panic(&mut self, state: &RunState, error_message: String)

a panic occurred during execution

Source

fn debugger_exiting(&mut self)

the debugger is exiting

Source

fn debugger_resetting(&mut self)

The debugger is resetting the runtime state

Source

fn debugger_error(&mut self, error: String)

An error occurred in the debugger

Source

fn execution_starting(&mut self)

execution of the flow is starting

Source

fn execution_ended(&mut self)

Execution of the flow fn execution_ended(&mut self, state: &RunState) {

Source

fn get_command(&mut self, state: &RunState) -> Result<DebugCommand>

Get a command for the debugger to perform

Implementors§