/
githubmirror
/
servo
Обзор
Документация
Войти
/
githubmirror
/
servo
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
components/devtools/resource.rs
53 строки
1 KB
eri
devtools: Fix failures in `mach test-devtools` (#42006)
19 янв 2026, 19:24
Не верифицирован
19 янв 2026, 19:24
cbf6bd4
Код
Авторство
О чём код?
/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ use serde::Serialize; use crate::protocol::JsonPacketStream; pub enum ResourceArrayType { Available, Updated, } #[derive(Serialize)] pub(crate) struct ResourceAvailableReply<T: Serialize> { from: String, #[serde(rename = "type")] type_: String, array: Vec<(String, Vec<T>)>, } pub(crate) trait ResourceAvailable { fn actor_name(&self) -> String; fn resource_array<T: Serialize, S: JsonPacketStream>( &self, resource: T, resource_type: String, array_type: ResourceArrayType, stream: &mut S, ) { self.resources_array(vec![resource], resource_type, array_type, stream); } fn resources_array<T: Serialize, S: JsonPacketStream>( &self, resources: Vec<T>, resource_type: String, array_type: ResourceArrayType, stream: &mut S, ) { let msg = ResourceAvailableReply::<T> { from: self.actor_name(), type_: match array_type { ResourceArrayType::Available => "resources-available-array".to_string(), ResourceArrayType::Updated => "resources-updated-array".to_string(), }, array: vec![(resource_type, resources)], }; let _ = stream.write_json_packet(&msg); } }