pub trait ControllerProxyInterface: Send + Sync {
type StartResponseFut: Future<Output = Result<ControllerStartResult, Error>> + Send;
type IsStartedResponseFut: Future<Output = Result<ControllerIsStartedResult, Error>> + Send;
type GetExposedDictionaryResponseFut: Future<Output = Result<ControllerGetExposedDictionaryResult, Error>> + Send;
type DestroyResponseFut: Future<Output = Result<ControllerDestroyResult, Error>> + Send;
// Required methods
fn start(
&self,
args: StartChildArgs,
execution_controller: ServerEnd<ExecutionControllerMarker>,
) -> Self::StartResponseFut;
fn is_started(&self) -> Self::IsStartedResponseFut;
fn get_exposed_dictionary(&self) -> Self::GetExposedDictionaryResponseFut;
fn destroy(&self) -> Self::DestroyResponseFut;
}