Skip to content

State Service

Файл: backend/src/services/state_cmd.rs

Сервис доступа к глобальному состоянию приложения. Используется для отладки и инспекции текущего состояния backend.

Эндпоинты

МетодПутьФункцияОписание
GET/api/stateget_state_svcПолучить полное состояние

Зависимости

  • SharedState — глобальное состояние приложения

get_state_svc

GET /api/state

Возвращает полный снимок глобального состояния приложения: ключи, адреса пиров, S3-конфигурацию, статус Stronghold.

Параметры

ИмяТипОписание
shared_stateSharedStateГлобальное состояние

Возвращает

Result<AppState, String>

Структура AppState

rust
pub struct AppState {
    pub key: String,           // Публичный ключ
    pub peer: String,          // PeerId
    pub addrs: HashSet<String>, // Listening addresses
    pub peers: HashMap<String, u64>, // Connected peers
    pub s3_client: Option<S3Client>,
    pub s3_config: Option<S3Config>,
    pub stronghold_manager: Option<Arc<StrongholdManager>>,
}

Логика

  1. Захватывает async lock на SharedState
  2. Клонирует AppState
  3. Возвращает клон
plantuml Diagram