Skip to content

Commit 9b583b3

Browse files
committed
Book fixes
1 parent e8e82c6 commit 9b583b3

File tree

3 files changed

+10
-7
lines changed

3 files changed

+10
-7
lines changed

docs/src/SUMMARY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
- [Connecting Readers and Writers](./tutorial/connecting_readers_and_writers.md)
1818
- [All Together](./tutorial/all_together.md)
1919
- [Clean Shutdown](./tutorial/clean_shutdown.md)
20-
- [Handling Disconnections](./tutorial/handling_disconnections.md)
20+
- [Handling Disconnection](./tutorial/handling_disconnection.md)
2121
- [Implementing a Client](./tutorial/implementing_a_client.md)
2222
- [TODO: Async Patterns](./patterns.md)
2323
- [TODO: Collected Small Patterns](./patterns/small-patterns.md)

docs/src/tutorial/handling_disconnection.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ We use `select` macro for this purpose:
5858

5959
```rust
6060
use futures::select;
61+
use futures::FutureExt;
6162

6263
async fn client_writer(
6364
messages: &mut Receiver<String>,
@@ -67,11 +68,11 @@ async fn client_writer(
6768
let mut stream = &*stream;
6869
loop { // 2
6970
select! {
70-
msg = messages.next() => match msg {
71+
msg = messages.next().fuse() => match msg {
7172
Some(msg) => stream.write_all(msg.as_bytes()).await?,
7273
None => break,
7374
},
74-
void = shutdown.next() => match void {
75+
void = shutdown.next().fuse() => match void {
7576
Some(void) => match void {}, // 3
7677
None => break,
7778
}
@@ -105,6 +106,7 @@ use std::{
105106
use futures::{
106107
channel::mpsc,
107108
SinkExt,
109+
FutureExt,
108110
select,
109111
};
110112

@@ -185,11 +187,11 @@ async fn client_writer(
185187
let mut stream = &*stream;
186188
loop {
187189
select! {
188-
msg = messages.next() => match msg {
190+
msg = messages.next().fuse() => match msg {
189191
Some(msg) => stream.write_all(msg.as_bytes()).await?,
190192
None => break,
191193
},
192-
void = shutdown.next() => match void {
194+
void = shutdown.next().fuse() => match void {
193195
Some(void) => match void {},
194196
None => break,
195197
}

docs/src/tutorial/implementing_a_client.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ With async, we can just use the `select!` macro.
2020
use std::net::ToSocketAddrs;
2121

2222
use futures::select;
23+
use futures::FutureExt;
2324

2425
use async_std::{
2526
prelude::*,
@@ -45,14 +46,14 @@ async fn try_main(addr: impl ToSocketAddrs) -> Result<()> {
4546
let mut lines_from_stdin = futures::StreamExt::fuse(stdin.lines()); // 2
4647
loop {
4748
select! { // 3
48-
line = lines_from_server.next() => match line {
49+
line = lines_from_server.next().fuse() => match line {
4950
Some(line) => {
5051
let line = line?;
5152
println!("{}", line);
5253
},
5354
None => break,
5455
},
55-
line = lines_from_stdin.next() => match line {
56+
line = lines_from_stdin.next().fuse() => match line {
5657
Some(line) => {
5758
let line = line?;
5859
writer.write_all(line.as_bytes()).await?;

0 commit comments

Comments
 (0)