pub trait ControllerProxyInterface: Send + Sync {
type TerminateTracingResponseFut: Future<Output = Result<TerminateResult, Error>> + Send;
type StartTracingResponseFut: Future<Output = Result<ControllerStartTracingResult, Error>> + Send;
type StopTracingResponseFut: Future<Output = Result<(), Error>> + Send;
type GetProvidersResponseFut: Future<Output = Result<Vec<ProviderInfo>, Error>> + Send;
type GetKnownCategoriesResponseFut: Future<Output = Result<Vec<KnownCategory>, Error>> + Send;
type WatchAlertResponseFut: Future<Output = Result<String, Error>> + Send;
// Required methods
fn initialize_tracing(
&self,
config: &TraceConfig,
output: Socket
) -> Result<(), Error>;
fn terminate_tracing(
&self,
options: &TerminateOptions
) -> Self::TerminateTracingResponseFut;
fn start_tracing(
&self,
options: &StartOptions
) -> Self::StartTracingResponseFut;
fn stop_tracing(
&self,
options: &StopOptions
) -> Self::StopTracingResponseFut;
fn get_providers(&self) -> Self::GetProvidersResponseFut;
fn get_known_categories(&self) -> Self::GetKnownCategoriesResponseFut;
fn watch_alert(&self) -> Self::WatchAlertResponseFut;
}