hyperinfer_core/traits/
config_store.rs1use async_trait::async_trait;
2
3use crate::error::ConfigError;
4use crate::redis::PolicyUpdate;
5use crate::types::Config;
6
7#[async_trait]
8pub trait ConfigStore: Clone + Send + Sync + 'static {
9 async fn fetch_config(&self) -> Result<Config, ConfigError>;
10 async fn publish_config_update(&self, config: &Config) -> Result<(), ConfigError>;
11 async fn publish_policy_update(&self, update: &PolicyUpdate) -> Result<(), ConfigError>;
12 async fn ping(&self) -> Result<(), ConfigError>;
13}