1.7 KiB
1.7 KiB
Story 11.11: VendorBackend Trait
Epic: 11 - Advanced HVAC Components
Priorité: P1-HIGH
Estimation: 4h
Statut: backlog
Dépendances: Aucune
Story
En tant que développeur librairie,
Je veux un trait VendorBackend,
Afin de pouvoir charger les données de plusieurs fournisseurs.
Contexte
Les fabricants (Copeland, Danfoss, SWEP, Bitzer) fournissent des données pour:
- Coefficients compresseurs (AHRI 540)
- Paramètres géométriques et UA des échangeurs
Trait VendorBackend
pub trait VendorBackend: Send + Sync {
fn vendor_name(&self) -> &str;
fn list_compressor_models(&self) -> Result<Vec<String>, VendorError>;
fn get_compressor_coefficients(&self, model: &str) -> Result<CompressorCoefficients, VendorError>;
fn list_bphx_models(&self) -> Result<Vec<String>, VendorError>;
fn get_bphx_parameters(&self, model: &str) -> Result<BphxParameters, VendorError>;
fn compute_ua(&self, model: &str, params: &UaCalcParams) -> Result<f64, VendorError>;
}
Architecture
entropyk-vendors/
├── Cargo.toml
├── data/
│ ├── copeland/
│ ├── danfoss/
│ ├── swep/
│ └── bitzer/
└── src/
├── lib.rs
├── vendor_api.rs
└── compressors/
Critères d'Acceptation
- Trait VendorBackend défini
- CompressorCoefficients struct (10 coeffs AHRI)
- BphxParameters struct (geometry, UA)
- VendorError enum
- Crate
entropyk-vendorscréé