diff --git a/tokiosendrecv/Cargo.lock b/tokiosendrecv/Cargo.lock new file mode 100644 index 0000000..c5ba611 --- /dev/null +++ b/tokiosendrecv/Cargo.lock @@ -0,0 +1,72 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "pin-project-lite" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e280fbe77cc62c91527259e9442153f4688736748d24660126286329742b4c6c" + +[[package]] +name = "proc-macro2" +version = "1.0.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029" +dependencies = [ + "unicode-xid", +] + +[[package]] +name = "quote" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "syn" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a65b3f4ffa0092e9887669db0eae07941f023991ab58ea44da8fe8e2d511c6b" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + +[[package]] +name = "tokio" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2af73ac49756f3f7c01172e34a23e5d0216f6c32333757c2c61feb2bbff5a5ee" +dependencies = [ + "pin-project-lite", + "tokio-macros", +] + +[[package]] +name = "tokio-macros" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b557f72f448c511a979e2564e55d74e6c4432fc96ff4f6241bc6bded342643b7" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tokiosendrecv" +version = "0.1.0" +dependencies = [ + "tokio", +] + +[[package]] +name = "unicode-xid" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" diff --git a/tokiosendrecv/Cargo.toml b/tokiosendrecv/Cargo.toml new file mode 100644 index 0000000..9d42382 --- /dev/null +++ b/tokiosendrecv/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "tokiosendrecv" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +tokio = { version = "1.17.0", features = ["rt", "sync", "macros"] } diff --git a/tokiosendrecv/src/main.rs b/tokiosendrecv/src/main.rs new file mode 100644 index 0000000..1f70f96 --- /dev/null +++ b/tokiosendrecv/src/main.rs @@ -0,0 +1,15 @@ +use tokio::sync::mpsc; + +#[tokio::main(flavor = "current_thread")] +async fn main() { + let (tx, mut rx) = mpsc::channel(2); + if let Err(_) = tx.send(2).await { + println!("Failed to send message"); + } + if let Err(_) = tx.send(3).await { + println!("Failed to send second message"); + } + + let response = rx.recv().await; + println!("Response: {:?}", response); +}