From 85cef5d47441b6faef43f3a283e5d5267d2a8ddb Mon Sep 17 00:00:00 2001 From: Jane Petrovna Date: Tue, 28 Dec 2021 21:10:00 -0500 Subject: [PATCH] what do send --- src/main.rs | 2 +- src/util/pattern.rs | 2 +- src/util/webserver.rs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index ac00368..98b1517 100644 --- a/src/main.rs +++ b/src/main.rs @@ -35,7 +35,7 @@ fn main() { }); let pat_clone = Arc::clone(&pattern); - thread::spawn(|| loop { + thread::spawn(move || loop { websocket(&pat_clone); }); diff --git a/src/util/pattern.rs b/src/util/pattern.rs index 1fbf484..561d7f0 100644 --- a/src/util/pattern.rs +++ b/src/util/pattern.rs @@ -7,7 +7,7 @@ use std::sync::RwLockWriteGuard; pub type ParseError = Box; -pub trait Pattern { +pub trait Pattern: Send { fn execute(&self, values: &mut RwLockWriteGuard<'_, [RawColor; crate::LED_SIZE]>); fn parse(args: Vec) -> Result where Self: Sized; } diff --git a/src/util/webserver.rs b/src/util/webserver.rs index 6dc62b2..86d74fa 100644 --- a/src/util/webserver.rs +++ b/src/util/webserver.rs @@ -7,7 +7,7 @@ pub fn websocket(pattern: &Arc>>>) { let server = TcpListener::bind("0.0.0.0:29999").unwrap(); for stream in server.incoming() { let clone = Arc::clone(pattern); - thread::spawn (|| { + thread::spawn (move || { let mut websocket = accept(stream.unwrap()).unwrap(); loop { let input = websocket.read_message().unwrap();