pub trait ControllerProxyInterface: Send + Sync {
type RequestSendSoonResponseFut: Future<Output = Result<bool, Error>> + Send;
type GenerateAggregatedObservationsResponseFut: Future<Output = Result<Vec<u64>, Error>> + Send;
type ListenForInitializedResponseFut: Future<Output = Result<(), Error>> + Send;
// Required methods
fn request_send_soon(&self) -> Self::RequestSendSoonResponseFut;
fn generate_aggregated_observations(
&self,
day_index: u32,
report_specs: &[ReportSpec],
) -> Self::GenerateAggregatedObservationsResponseFut;
fn listen_for_initialized(&self) -> Self::ListenForInitializedResponseFut;
}