From 5f927a2c285c779b631ba36520904189ebd5cd4c Mon Sep 17 00:00:00 2001 From: Martin Robinson Date: Thu, 26 Dec 2024 04:34:54 +0100 Subject: script: Refactor channels in `ScriptThread` into receivers and senders (#34776) Create two new data structures in the `script` crate to hold senders and receiver: - `ScriptThreadSenders`: holds all outgoing channels from the `ScriptThread` including a channel to the `ScriptThread` itself. The ultimate goal with this is to reduce duplication by giving a boxed version of this this to `Window`s. - `ScriptThradReceivers`: holds all incoming channels to the `ScriptThread`. This isn't cloenable like the senders. This is used to abstract away `recv()` and `try_recv()` methods used to make the `ScriptThread` event loop easier to read. In addition: - The many duplicated `ScriptThread` self-senders for the `TaskManager` have been removed and, in general, a lot of boilerplate is removed as well. - Visibilty of all methods affected by this change is changed to `pub(crate)` in order to take advantage of dead code detection. Some dead code produced from macros is removed. - Some conversion code is refactord into implementations of the `From` trait. - The names of channels uses a standard "sender" and "receiver" naming as well as trying to be descriptive of where they go in `ScriptThread` as well as `InitialScriptState` Signed-off-by: Martin Robinson --- components/script/task_source/websocket.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'components/script/task_source/websocket.rs') diff --git a/components/script/task_source/websocket.rs b/components/script/task_source/websocket.rs index 2d05067e28b..2ae11f99eb8 100644 --- a/components/script/task_source/websocket.rs +++ b/components/script/task_source/websocket.rs @@ -16,7 +16,7 @@ pub struct WebsocketTaskSource( impl Clone for WebsocketTaskSource { fn clone(&self) -> WebsocketTaskSource { - WebsocketTaskSource(self.0.clone(), self.1) + WebsocketTaskSource(self.0.as_boxed(), self.1) } } -- cgit v1.2.3