Trait flowrlib::debugger_handler::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§
sourcefn start(&mut self)
fn start(&mut self)
Start the debugger - which swallows the first message to initialize the connection
sourcefn job_breakpoint(
&mut self,
job: &Job,
function: &RuntimeFunction,
states: Vec<State>
)
fn job_breakpoint( &mut self, job: &Job, function: &RuntimeFunction, states: Vec<State> )
a breakpoint has been hit on a Job being created
sourcefn block_breakpoint(&mut self, block: &Block)
fn block_breakpoint(&mut self, block: &Block)
A breakpoint set on creation of a Block
matching block
has been hit
sourcefn flow_unblock_breakpoint(&mut self, flow_id: usize)
fn flow_unblock_breakpoint(&mut self, flow_id: usize)
A breakpoint set on the unblocking of a flow has been hit
sourcefn 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 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
sourcefn job_completed(&mut self, job: &Job)
fn job_completed(&mut self, job: &Job)
A specific job completed
sourcefn outputs(&mut self, output: Vec<OutputConnection>)
fn outputs(&mut self, output: Vec<OutputConnection>)
returns an output’s connections
sourcefn function_list(&mut self, functions: &[RuntimeFunction])
fn function_list(&mut self, functions: &[RuntimeFunction])
lists all functions
sourcefn function_states(
&mut self,
function: RuntimeFunction,
function_states: Vec<State>
)
fn function_states( &mut self, function: RuntimeFunction, function_states: Vec<State> )
returns the state of a function
sourcefn debugger_exiting(&mut self)
fn debugger_exiting(&mut self)
the debugger is exiting
sourcefn debugger_resetting(&mut self)
fn debugger_resetting(&mut self)
The debugger is resetting the runtime state
sourcefn debugger_error(&mut self, error: String)
fn debugger_error(&mut self, error: String)
An error occurred in the debugger
sourcefn execution_starting(&mut self)
fn execution_starting(&mut self)
execution of the flow is starting
sourcefn execution_ended(&mut self)
fn execution_ended(&mut self)
Execution of the flow fn execution_ended(&mut self, state: &RunState) {
sourcefn get_command(&mut self, state: &RunState) -> Result<DebugCommand>
fn get_command(&mut self, state: &RunState) -> Result<DebugCommand>
Get a command for the debugger to perform