Skip to content

Commit a1ef115

Browse files
Update README
1 parent ab8e4dd commit a1ef115

File tree

1 file changed

+59
-59
lines changed

1 file changed

+59
-59
lines changed

README.md

Lines changed: 59 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -21,30 +21,30 @@ flowchart LR
2121
is equivalent to
2222

2323
```rust
24-
let (ch1, w1) = channel();
25-
let (ch2, w2) = channel();
26-
tokio::spawn({
27-
let r1 = ch1.reader();
28-
async move {
29-
let x = r1.get().await.unwrap();
30-
tokio::task::yield_now().await;
31-
let s = format!("{}pong", x);
32-
w2.put(s).unwrap();
33-
}
34-
});
35-
let y = tokio::spawn({
36-
let r2 = ch2.reader();
37-
async move {
38-
let x = "ping".to_owned();
39-
w1.put(x).unwrap();
40-
tokio::task::yield_now().await;
41-
let y = r2.get().await.unwrap();
42-
y
43-
}
44-
})
45-
.await
46-
.unwrap();
47-
assert_eq!(y, "pingpong")
24+
let (ch1, w1) = channel();
25+
let (ch2, w2) = channel();
26+
tokio::spawn({
27+
let r1 = ch1.reader();
28+
async move {
29+
let x = r1.get().await.unwrap();
30+
tokio::task::yield_now().await;
31+
let s = format!("{}pong", x);
32+
w2.put(s).unwrap();
33+
}
34+
});
35+
let y = tokio::spawn({
36+
let r2 = ch2.reader();
37+
async move {
38+
let x = "ping".to_owned();
39+
w1.put(x).unwrap();
40+
tokio::task::yield_now().await;
41+
let y = r2.get().await.unwrap();
42+
y
43+
}
44+
})
45+
.await
46+
.unwrap();
47+
assert_eq!(y, "pingpong")
4848
```
4949

5050
----
@@ -67,39 +67,39 @@ flowchart LR
6767
is equivalent to
6868

6969
```rust
70-
let (ch1, w1) = channel();
71-
let (ch2, w2) = channel();
72-
let (ch3, w3) = channel();
73-
let (ch4, w4) = channel();
74-
// λx. x+2
75-
tokio::spawn({
76-
let r1 = ch1.reader();
77-
async move {
78-
let x = r1.get().await.unwrap();
79-
w2.put(x + 2).unwrap();
80-
}
81-
});
82-
// λx. x*2
83-
tokio::spawn({
84-
let r1 = ch1.reader();
85-
async move {
86-
// Emulating expensive I/O
87-
tokio::time::sleep(std::time::Duration::from_secs(5)).await;
88-
let x = r1.get().await.unwrap();
89-
w3.put(x * 2).unwrap();
90-
}
91-
});
92-
// λxy. x*y
93-
tokio::spawn({
94-
let r2 = ch2.reader();
95-
let r3 = ch3.reader();
96-
async move {
97-
let (x, y) = tokio::try_join!(r2.get(), r3.get()).unwrap();
98-
w4.put(x * y).unwrap();
99-
}
100-
});
101-
w1.put(1).unwrap();
102-
let r4 = ch4.reader();
103-
let ans = r4.get().await.unwrap();
104-
assert_eq!(ans, 6);
70+
let (ch1, w1) = channel();
71+
let (ch2, w2) = channel();
72+
let (ch3, w3) = channel();
73+
let (ch4, w4) = channel();
74+
// λx. x+2
75+
tokio::spawn({
76+
let r1 = ch1.reader();
77+
async move {
78+
let x = r1.get().await.unwrap();
79+
w2.put(x + 2).unwrap();
80+
}
81+
});
82+
// λx. x*2
83+
tokio::spawn({
84+
let r1 = ch1.reader();
85+
async move {
86+
// Emulating expensive I/O
87+
tokio::time::sleep(std::time::Duration::from_secs(5)).await;
88+
let x = r1.get().await.unwrap();
89+
w3.put(x * 2).unwrap();
90+
}
91+
});
92+
// λxy. x*y
93+
tokio::spawn({
94+
let r2 = ch2.reader();
95+
let r3 = ch3.reader();
96+
async move {
97+
let (x, y) = tokio::try_join!(r2.get(), r3.get()).unwrap();
98+
w4.put(x * y).unwrap();
99+
}
100+
});
101+
w1.put(1).unwrap();
102+
let r4 = ch4.reader();
103+
let ans = r4.get().await.unwrap();
104+
assert_eq!(ans, 6);
105105
```

0 commit comments

Comments
 (0)