Skip to main content

platform/config/
services.rs

1//! 服务配置集合
2
3use super::ais::AisConfig;
4use super::signaling::SignalingConfig;
5use serde::{Deserialize, Serialize};
6
7/// MFR (Manufacturer Registry) 配置
8#[derive(Debug, Serialize, Deserialize, Clone)]
9pub struct MfrConfig {
10    /// How long (in seconds) to retain expired/used publish nonces for auditing.
11    /// Default: 86400 (24 hours).
12    #[serde(default = "default_nonce_retain_secs")]
13    pub nonce_retain_secs: i64,
14}
15
16fn default_nonce_retain_secs() -> i64 {
17    86400 // 24 hours
18}
19
20impl Default for MfrConfig {
21    fn default() -> Self {
22        Self {
23            nonce_retain_secs: default_nonce_retain_secs(),
24        }
25    }
26}
27
28/// 所有服务的配置集合
29#[derive(Debug, Serialize, Deserialize, Clone, Default)]
30pub struct ServicesConfig {
31    /// Signer 服务配置
32    #[serde(default)]
33    pub signer: Option<signer::SignerServiceConfig>,
34
35    /// AIS (Actor Identity Service) 服务配置
36    #[serde(default)]
37    pub ais: Option<AisConfig>,
38
39    /// Signaling 服务配置
40    #[serde(default)]
41    pub signaling: Option<SignalingConfig>,
42    // 注意:STUN/TURN 不依赖 Signer,保持原有配置方式
43    /// MFR (Manufacturer Registry) 服务配置
44    #[serde(default)]
45    pub mfr: MfrConfig,
46}