pub trait PuppetProxyInterface: Send + Sync {
type StartProfilingResponseFut: Future<Output = Result<(), Error>> + Send;
type StopProfilingResponseFut: Future<Output = Result<(), Error>> + Send;
type RunProfiledFunctionResponseFut: Future<Output = Result<(), Error>> + Send;
// Required methods
fn start_profiling(&self) -> Self::StartProfilingResponseFut;
fn stop_profiling(&self) -> Self::StopProfilingResponseFut;
fn run_profiled_function(&self) -> Self::RunProfiledFunctionResponseFut;
}