From 3db7631a7d72ece3925d43a3f8cbaf1d1dba9e26 Mon Sep 17 00:00:00 2001 From: Kevin Donahue Date: Sat, 21 Sep 2019 13:57:38 -0400 Subject: [PATCH 1/4] create readme in examples directory --- examples/README.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 examples/README.md diff --git a/examples/README.md b/examples/README.md new file mode 100644 index 0000000..a4ff5ff --- /dev/null +++ b/examples/README.md @@ -0,0 +1,23 @@ +# `async-std` Examples + +This directory contains example code that makes use of `async-std`. + +Each example can be run from the command line. + +For example, [Hello World][hello-world] can be run by running the following: + +``` +cargo run --example hello-world +``` + +- [Hello World][hello-world] + +Spawns a task that says hello. + +- [Line Count][line-count] + +Counts the number of lines in a file given as an argument. + +[hello-world]: https://github.com/async-rs/async-std/blob/master/examples/hello-world.rs +[line-count]: https://github.com/async-rs/async-std/blob/master/examples/line-count.rs + From 25185da76d75faab9ac918b7f0d59aa53ab3a83d Mon Sep 17 00:00:00 2001 From: Kevin Donahue Date: Tue, 24 Sep 2019 17:40:28 -0400 Subject: [PATCH 2/4] add inline example --- examples/README.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/examples/README.md b/examples/README.md index a4ff5ff..c5c0d57 100644 --- a/examples/README.md +++ b/examples/README.md @@ -18,6 +18,14 @@ Spawns a task that says hello. Counts the number of lines in a file given as an argument. +```shell +cargo run --example line-count -- ./Cargo.toml +``` + +- [List Dir][list-dir] + +Lists files in a directory given as an argument. + [hello-world]: https://github.com/async-rs/async-std/blob/master/examples/hello-world.rs [line-count]: https://github.com/async-rs/async-std/blob/master/examples/line-count.rs - +[list-dir]: https://github.com/async-rs/async-std/blob/master/examples/list-dir.rs From ac9d0df7c2f555e2356da0b5e57b9d4df53bb3be Mon Sep 17 00:00:00 2001 From: Kevin Donahue Date: Wed, 25 Sep 2019 20:21:59 -0400 Subject: [PATCH 3/4] add logging and print file examples --- examples/README.md | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/examples/README.md b/examples/README.md index c5c0d57..c949453 100644 --- a/examples/README.md +++ b/examples/README.md @@ -1,19 +1,17 @@ # `async-std` Examples -This directory contains example code that makes use of `async-std`. +This directory contains example code that makes use of `async-std`, each of which can be run from the command line. -Each example can be run from the command line. +## Examples -For example, [Hello World][hello-world] can be run by running the following: +- [Hello World][hello-world] + +Spawns a task that says hello. ``` cargo run --example hello-world ``` -- [Hello World][hello-world] - -Spawns a task that says hello. - - [Line Count][line-count] Counts the number of lines in a file given as an argument. @@ -26,6 +24,28 @@ cargo run --example line-count -- ./Cargo.toml Lists files in a directory given as an argument. +```shell +cargo run --example list-dir -- . +``` + +- [Logging][logging] + +Prints the runtime's execution log on the standard output. + +```shell +cargo run --example logging +``` + +- [Print File][print-file] + +Prints a file given as an argument to stdout. + +```shell +cargo run --example print-file ./Cargo.toml +``` + [hello-world]: https://github.com/async-rs/async-std/blob/master/examples/hello-world.rs [line-count]: https://github.com/async-rs/async-std/blob/master/examples/line-count.rs [list-dir]: https://github.com/async-rs/async-std/blob/master/examples/list-dir.rs +[logging]: https://github.com/async-rs/async-std/blob/master/examples/logging.rs +[print-file]: https://github.com/async-rs/async-std/blob/master/examples/print-file.rs From e8bd79efb82d321de22caf474d48d32a1a0809bc Mon Sep 17 00:00:00 2001 From: Kevin Donahue Date: Thu, 26 Sep 2019 20:57:56 -0400 Subject: [PATCH 4/4] add remaining examples --- examples/README.md | 136 +++++++++++++++++++++++++++++++++--- examples/socket-timeouts.rs | 2 + 2 files changed, 130 insertions(+), 8 deletions(-) diff --git a/examples/README.md b/examples/README.md index c949453..903ed2c 100644 --- a/examples/README.md +++ b/examples/README.md @@ -1,10 +1,8 @@ -# `async-std` Examples +# Examples This directory contains example code that makes use of `async-std`, each of which can be run from the command line. -## Examples - -- [Hello World][hello-world] +##### [Hello World][hello-world] Spawns a task that says hello. @@ -12,7 +10,7 @@ Spawns a task that says hello. cargo run --example hello-world ``` -- [Line Count][line-count] +##### [Line Count][line-count] Counts the number of lines in a file given as an argument. @@ -20,7 +18,7 @@ Counts the number of lines in a file given as an argument. cargo run --example line-count -- ./Cargo.toml ``` -- [List Dir][list-dir] +##### [List Dir][list-dir] Lists files in a directory given as an argument. @@ -28,7 +26,7 @@ Lists files in a directory given as an argument. cargo run --example list-dir -- . ``` -- [Logging][logging] +##### [Logging][logging] Prints the runtime's execution log on the standard output. @@ -36,7 +34,7 @@ Prints the runtime's execution log on the standard output. cargo run --example logging ``` -- [Print File][print-file] +##### [Print File][print-file] Prints a file given as an argument to stdout. @@ -44,8 +42,130 @@ Prints a file given as an argument to stdout. cargo run --example print-file ./Cargo.toml ``` +##### [Socket Timeouts][socket-timeouts] + +Prints response of GET request made to TCP server with 5 second socket timeout + +```shell +cargo run --example socket-timeouts +``` + +##### [Stdin Echo][stdin-echo] + +Echoes lines read on stdin to stdout. + +```shell +cargo run --example stdin-echo +``` + +##### [Stdin Timeout][stdin-timeout] + +Reads a line from stdin, or exits with an error if nothing is read in 5 seconds. + +```shell +cargo run --example stdin-timeout +``` + +##### [Surf Web][surf-web] + +Sends an HTTP request to the Rust website. + +```shell +cargo run --example surf-web +``` + +##### [Task Local][task-local] + +Creates a task-local value. + +```shell +cargo run --example task-local +``` + +##### [Task Name][task-name] + +Spawns a named task that prints its name. + +```shell +cargo run --example task-name +``` + +##### [TCP Client][tcp-client] + +Connects to Localhost over TCP. + +First, start the echo server: + +```shell +cargo run --example tcp-echo +``` + +Then run the client: + +```shell +cargo run --example tcp-client +``` + +##### [TCP Echo][tcp-echo] + +TCP echo server. + +Start the echo server: + +```shell +cargo run --example tcp-echo +``` + +Make requests by running the client example: + +```shell +cargo run --example tcp-client +``` + +##### [UDP Client][udp-client] + +Connects to Localhost over UDP. + +First, start the echo server: + +```shell +cargo run --example udp-echo +``` + +Then run the client: + +```shell +cargo run --example udp-client +``` + +##### [UDP Echo][udp-echo] + +UDP echo server. + +Start the echo server: + +```shell +cargo run --example udp-echo +``` + +Make requests by running the client example: + +```shell +cargo run --example udp-client +``` + [hello-world]: https://github.com/async-rs/async-std/blob/master/examples/hello-world.rs [line-count]: https://github.com/async-rs/async-std/blob/master/examples/line-count.rs [list-dir]: https://github.com/async-rs/async-std/blob/master/examples/list-dir.rs [logging]: https://github.com/async-rs/async-std/blob/master/examples/logging.rs [print-file]: https://github.com/async-rs/async-std/blob/master/examples/print-file.rs +[socket-timeouts]: https://github.com/async-rs/async-std/blob/master/examples/socket-timeouts.rs +[stdin-echo]: https://github.com/async-rs/async-std/blob/master/examples/stdin-echo.rs +[stdin-timeout]: https://github.com/async-rs/async-std/blob/master/examples/stdin-timeout.rs +[surf-web]: https://github.com/async-rs/async-std/blob/master/examples/surf-web.rs +[task-local]: https://github.com/async-rs/async-std/blob/master/examples/task-local.rs +[task-name]: https://github.com/async-rs/async-std/blob/master/examples/task-name.rs +[tcp-client]: https://github.com/async-rs/async-std/blob/master/examples/tcp-client.rs +[tcp-echo]: https://github.com/async-rs/async-std/blob/master/examples/tcp-echo.rs +[udp-client]: https://github.com/async-rs/async-std/blob/master/examples/udp-client.rs +[udp-echo]: https://github.com/async-rs/async-std/blob/master/examples/udp-echo.rs diff --git a/examples/socket-timeouts.rs b/examples/socket-timeouts.rs index 894206c..f4db5c7 100644 --- a/examples/socket-timeouts.rs +++ b/examples/socket-timeouts.rs @@ -1,3 +1,5 @@ +//! Prints response of GET request made to TCP server with 5 second socket timeout + use std::time::Duration; use async_std::{io, net::TcpStream, prelude::*, task};