Skip to main content

DebuggerHandler

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

[DebugHandler] trait that must be implemented by clients wishing to interface with the debugger

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

Source

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

Get a command for the debugger to perform

§Errors

Returns an error if the next command cannot be fetched, usually related to networking

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§