diff options
Diffstat (limited to 'components/devtools/resource.rs')
-rw-r--r-- | components/devtools/resource.rs | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/components/devtools/resource.rs b/components/devtools/resource.rs index 7cef8188cc8..4e6aa4042b8 100644 --- a/components/devtools/resource.rs +++ b/components/devtools/resource.rs @@ -2,13 +2,10 @@ * 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 std::cell::RefCell; -use std::collections::HashMap; use std::net::TcpStream; use serde::Serialize; -use crate::StreamId; use crate::protocol::JsonPacketStream; #[derive(Serialize)] @@ -22,21 +19,27 @@ pub(crate) struct ResourceAvailableReply<T: Serialize> { pub(crate) trait ResourceAvailable { fn actor_name(&self) -> String; - fn get_streams(&self) -> &RefCell<HashMap<StreamId, TcpStream>>; - - fn resource_available<T: Serialize>(&self, resource: T, resource_type: String) { - self.resources_available(vec![resource], resource_type); + fn resource_available<T: Serialize>( + &self, + resource: T, + resource_type: String, + stream: &mut TcpStream, + ) { + self.resources_available(vec![resource], resource_type, stream); } - fn resources_available<T: Serialize>(&self, resources: Vec<T>, resource_type: String) { + fn resources_available<T: Serialize>( + &self, + resources: Vec<T>, + resource_type: String, + stream: &mut TcpStream, + ) { let msg = ResourceAvailableReply::<T> { from: self.actor_name(), type_: "resources-available-array".into(), array: vec![(resource_type, resources)], }; - for stream in self.get_streams().borrow_mut().values_mut() { - let _ = stream.write_json_packet(&msg); - } + let _ = stream.write_json_packet(&msg); } } |