From a14cc3f38b67e6054bdbff8aff7c60967f342194 Mon Sep 17 00:00:00 2001 From: Romeo Disca Date: Tue, 18 Aug 2020 06:40:46 +0200 Subject: refactor: change crate to lib --- Cargo.lock | 22 +++++++++++----------- Cargo.toml | 2 +- examples/ping.rs | 38 ++++++++++++++++++++++++++++++++++++++ src/lib.rs | 9 +++++++++ src/main.rs | 43 ------------------------------------------- 5 files changed, 59 insertions(+), 55 deletions(-) create mode 100644 examples/ping.rs create mode 100644 src/lib.rs delete mode 100644 src/main.rs diff --git a/Cargo.lock b/Cargo.lock index 0e0402d..f9b2e50 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -44,6 +44,17 @@ dependencies = [ "syn", ] +[[package]] +name = "flicbtn" +version = "0.1.0" +dependencies = [ + "bytes", + "futures", + "num_enum", + "regex", + "tokio", +] + [[package]] name = "fnv" version = "1.0.7" @@ -440,17 +451,6 @@ dependencies = [ "libc", ] -[[package]] -name = "simpleclient" -version = "0.1.0" -dependencies = [ - "bytes", - "futures", - "num_enum", - "regex", - "tokio", -] - [[package]] name = "slab" version = "0.4.2" diff --git a/Cargo.toml b/Cargo.toml index 77a14a5..69d3fc1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "simpleclient" +name = "flicbtn" version = "0.1.0" authors = ["Romeo Disca "] edition = "2018" diff --git a/examples/ping.rs b/examples/ping.rs new file mode 100644 index 0000000..4a6a7cb --- /dev/null +++ b/examples/ping.rs @@ -0,0 +1,38 @@ + + +use std::error::Error; +use std::time::Duration; +use std::sync::Arc; + +use flicbtn::*; + +#[tokio::main] +async fn main() -> Result<(), Box> { + + let event = event_handler(|event| { println!("ping response: {:?}", event); }); + let event2 = event_handler(|event| { println!("ping response: {:?}", event); }); + + let client = FlicClient::new("127.0.0.1:5551").await? + .register_event_handler(event).await + .register_event_handler(event2).await + ; + let client1 = Arc::new(client); + let client2 = client1.clone(); + + let cmd = tokio::spawn(async move { + client1.submit(Command::GetInfo).await; + tokio::time::delay_for(Duration::from_secs(3)).await; + client1.submit(Command::GetInfo).await; + tokio::time::delay_for(Duration::from_secs(3)).await; + client1.stop().await; + }); + let lst = tokio::spawn(async move { + client2.listen().await; + println!("stop"); + }); + + lst.await?; + cmd.await?; + + Ok(()) +} diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 0000000..ba9a5f6 --- /dev/null +++ b/src/lib.rs @@ -0,0 +1,9 @@ + +mod enums; +mod events; +mod commands; +mod client; + +pub use client::*; +pub use commands::Command; +pub use events::Event; \ No newline at end of file diff --git a/src/main.rs b/src/main.rs deleted file mode 100644 index dd068fe..0000000 --- a/src/main.rs +++ /dev/null @@ -1,43 +0,0 @@ - -mod enums; -mod events; -mod commands; -mod client; - -use std::error::Error; -use std::time::Duration; -use std::sync::Arc; - -use client::*; -use commands::Command; - -#[tokio::main] -async fn main() -> Result<(), Box> { - - let event = event_handler(|event| { println!("ping response: {:?}", event); }); - let event2 = event_handler(|event| { println!("ping response: {:?}", event); }); - - let client = FlicClient::new("127.0.0.1:5551").await? - .register_event_handler(event).await - .register_event_handler(event2).await - ; - let client1 = Arc::new(client); - let client2 = client1.clone(); - - let cmd = tokio::spawn(async move { - client1.submit(Command::GetInfo).await; - tokio::time::delay_for(Duration::from_secs(3)).await; - client1.submit(Command::GetInfo).await; - tokio::time::delay_for(Duration::from_secs(3)).await; - client1.stop().await; - }); - let lst = tokio::spawn(async move { - client2.listen().await; - println!("stop"); - }); - - lst.await?; - cmd.await?; - - Ok(()) -} -- cgit v1.2.3