pub trait IdListsAdapter: Send + Sync {
// Required methods
fn start<'life0, 'async_trait>(
self: Arc<Self>,
statsig_runtime: &'life0 Arc<StatsigRuntime>,
listener: Arc<dyn IdListsUpdateListener + Send + Sync>,
) -> Pin<Box<dyn Future<Output = Result<(), StatsigErr>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn shutdown<'life0, 'async_trait>(
&'life0 self,
timeout: Duration,
) -> Pin<Box<dyn Future<Output = Result<(), StatsigErr>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn schedule_background_sync<'life0, 'async_trait>(
self: Arc<Self>,
statsig_runtime: &'life0 Arc<StatsigRuntime>,
) -> Pin<Box<dyn Future<Output = Result<(), StatsigErr>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_type_name(&self) -> String;
}
Required Methods§
Sourcefn start<'life0, 'async_trait>(
self: Arc<Self>,
statsig_runtime: &'life0 Arc<StatsigRuntime>,
listener: Arc<dyn IdListsUpdateListener + Send + Sync>,
) -> Pin<Box<dyn Future<Output = Result<(), StatsigErr>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn start<'life0, 'async_trait>(
self: Arc<Self>,
statsig_runtime: &'life0 Arc<StatsigRuntime>,
listener: Arc<dyn IdListsUpdateListener + Send + Sync>,
) -> Pin<Box<dyn Future<Output = Result<(), StatsigErr>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Called during Statsig::initialize. Mostly to attach the listener. Scheduling background threads should be done in the IdListsAdapter::schedule_background_sync function.
§Arguments
statsig_runtime
- The Statsig runtime instance.listener
- The listener to push updates to.
Sourcefn shutdown<'life0, 'async_trait>(
&'life0 self,
timeout: Duration,
) -> Pin<Box<dyn Future<Output = Result<(), StatsigErr>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn shutdown<'life0, 'async_trait>(
&'life0 self,
timeout: Duration,
) -> Pin<Box<dyn Future<Output = Result<(), StatsigErr>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Called during Statsig::shutdown or Statsig::shutdown_with_timeout. This function gives some grace period to the adapter to finish its work.
§Arguments
timeout
- The timeout for the shutdown.
Sourcefn schedule_background_sync<'life0, 'async_trait>(
self: Arc<Self>,
statsig_runtime: &'life0 Arc<StatsigRuntime>,
) -> Pin<Box<dyn Future<Output = Result<(), StatsigErr>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn schedule_background_sync<'life0, 'async_trait>(
self: Arc<Self>,
statsig_runtime: &'life0 Arc<StatsigRuntime>,
) -> Pin<Box<dyn Future<Output = Result<(), StatsigErr>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Called during Statsig::initialize. This function is used to schedule the background sync thread and is called just after IdListsAdapter::start
§Arguments
statsig_runtime
- The Statsig runtime instance.
Sourcefn get_type_name(&self) -> String
fn get_type_name(&self) -> String
Returns the type name of the adapter. Used for logging and error messages.