fn run(
timeout: usize,
tick: u64,
weidu_stdin: ChildStdin,
log: Arc<RwLock<String>>,
parsed_output_receiver: Receiver<State>,
wait_count: Arc<AtomicUsize>,
) -> Result<WeiduExitStatus, Box<dyn Error + 'static>>fn run(
timeout: usize,
tick: u64,
weidu_stdin: ChildStdin,
log: Arc<RwLock<String>>,
parsed_output_receiver: Receiver<State>,
wait_count: Arc<AtomicUsize>,
) -> Result<WeiduExitStatus, Box<dyn Error + 'static>>