Skip to content

Commit e31d71c

Browse files
committed
feat: migrate to tokio v1
1 parent 6950459 commit e31d71c

File tree

11 files changed

+64
-50
lines changed

11 files changed

+64
-50
lines changed

examples/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ edition = "2018"
66
publish = false
77

88
[dev-dependencies]
9-
log = "0.4.11"
9+
log = "0.4.13"
1010
env_logger = "0.8.2"
11-
futures = "0.3.8"
11+
futures = "0.3.9"
1212
clap = "2.33.3"
1313

1414
[dev-dependencies.rsocket_rust]
@@ -22,7 +22,7 @@ features = ["tls"]
2222
path = "../rsocket-transport-websocket"
2323

2424
[dev-dependencies.tokio]
25-
version = "0.3.6"
25+
version = "1.0.1"
2626
default-features = false
2727
features = ["full"]
2828

rsocket-messaging/Cargo.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ homepage = "https://github.com/rsocket/rsocket-rust"
1010
description = "Communicate with Spring RSocket Messaging."
1111

1212
[dependencies]
13-
futures = "0.3.8"
14-
bytes = "0.6.0"
15-
serde = "1.0.118"
16-
serde_json = "1.0.60"
13+
futures = "0.3.9"
14+
bytes = "1.0.1"
15+
serde = "1.0.119"
16+
serde_json = "1.0.61"
1717
serde_cbor = "0.11.1"
1818
hex = "0.4.2"
1919
url = "2.2.0"

rsocket-test/Cargo.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ publish = false
77

88
[dev-dependencies]
99
log = "0.4"
10-
futures = "0.3.8"
10+
futures = "0.3.9"
1111
env_logger = "0.8.2"
12-
bytes = "0.6.0"
12+
bytes = "1.0.1"
1313
hex = "0.4.2"
14-
rand = "0.8.0"
15-
serde = "1.0.118"
16-
serde_derive = "1.0.118"
14+
rand = "0.8.1"
15+
serde = "1.0.119"
16+
serde_derive = "1.0.119"
1717

1818
[dev-dependencies.rsocket_rust]
1919
path = "../rsocket"
@@ -29,6 +29,6 @@ path = "../rsocket-transport-websocket"
2929
path = "../rsocket-messaging"
3030

3131
[dev-dependencies.tokio]
32-
version = "0.3.6"
32+
version = "1.0.1"
3333
default-features = false
3434
features = ["full"]

rsocket-transport-tcp/Cargo.toml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,24 +14,24 @@ default = []
1414
tls = ["tokio-native-tls"]
1515

1616
[dependencies]
17-
log = "0.4.11"
18-
futures = "0.3.8"
19-
bytes = "0.6.0"
17+
log = "0.4.13"
18+
futures = "0.3.9"
19+
bytes = "1.0.1"
2020

2121
[dependencies.rsocket_rust]
2222
path = "../rsocket"
2323
features = ["frame"]
2424

2525
[dependencies.tokio]
26-
version = "0.3.6"
26+
version = "1.0.1"
2727
default-features = false
28-
features = [ "rt", "rt-multi-thread", "net", "sync", "stream", "io-util", "macros" ]
28+
features = [ "rt", "rt-multi-thread", "net", "sync", "io-util", "macros" ]
2929

3030
[dependencies.tokio-util]
31-
version = "0.5.1"
31+
version = "0.6.0"
3232
default-features = false
3333
features = ["codec"]
3434

3535
[dependencies.tokio-native-tls]
3636
optional = true
37-
version = "0.2.0"
37+
version = "0.3.0"

rsocket-transport-wasm/Cargo.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,15 @@ homepage = "https://github.com/rsocket/rsocket-rust"
1010
description = "WASM Websocket RSocket transport implementation."
1111

1212
[dependencies]
13-
bytes = "0.6.0"
13+
bytes = "1.0.1"
1414
wasm-bindgen-futures = "0.4.19"
1515
futures-channel = "0.3.9"
1616
futures-util = "0.3.9"
1717
js-sys = "0.3.46"
18-
serde = "1.0.118"
19-
serde_derive = "1.0.118"
18+
serde = "1.0.119"
19+
serde_derive = "1.0.119"
2020
async-trait = "0.1.42"
21-
log = "0.4.11"
21+
log = "0.4.13"
2222

2323
[dependencies.rsocket_rust]
2424
path = "../rsocket"

rsocket-transport-websocket/Cargo.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,17 @@ homepage = "https://github.com/rsocket/rsocket-rust"
1010
description = "Websocket RSocket transport implementation."
1111

1212
[dependencies]
13-
log = "0.4.11"
14-
futures = "0.3.8"
15-
bytes = "0.6.0"
13+
log = "0.4.13"
14+
futures = "0.3.9"
15+
bytes = "1.0.1"
1616
url = "2.2.0"
17-
tokio-tungstenite = "0.12.0"
17+
tokio-tungstenite = "0.13.0"
1818

1919
[dependencies.rsocket_rust]
2020
path = "../rsocket"
2121
features = ["frame"]
2222

2323
[dependencies.tokio]
24-
version = "0.3.6"
24+
version = "1.0.1"
2525
default-features = false
26-
features = [ "rt", "rt-multi-thread", "net", "sync", "stream" ]
26+
features = [ "rt", "rt-multi-thread", "net", "sync"]

rsocket/Cargo.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,23 @@ homepage = "https://github.com/rsocket/rsocket-rust"
1010
description = "rsocket-rust is an implementation of the RSocket protocol in Rust."
1111

1212
[dependencies]
13-
log = "0.4.11"
14-
bytes = "0.6.0"
15-
futures = "0.3.8"
13+
log = "0.4.13"
14+
bytes = "1.0.1"
15+
futures = "0.3.9"
1616
lazy_static = "1.4.0"
1717
async-trait = "0.1.42"
1818
dashmap = "4.0.1"
1919
thiserror = "1.0.23"
20-
anyhow = "1.0.36"
20+
anyhow = "1.0.38"
2121
async-stream = "0.3.0"
2222

2323
[target.'cfg(target_arch = "wasm32")'.dependencies]
2424
wasm-bindgen-futures = "0.4.19"
2525

2626
[dependencies.tokio]
27-
version = "0.3.6"
27+
version = "1.0.1"
2828
default-features = false
29-
features = [ "rt", "rt-multi-thread", "sync", "stream", "time" ]
29+
features = [ "rt", "rt-multi-thread", "sync", "time" ]
3030

3131
[features]
3232
default = []

rsocket/src/core/client.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ where
143143
runtime::spawn(async move {
144144
loop {
145145
// send keepalive if timeout
146-
match tokio::time::timeout(tick_period, snd_rx.next()).await {
146+
match tokio::time::timeout(tick_period, snd_rx.recv()).await {
147147
Ok(Some(frame)) => {
148148
if let frame::Body::Error(e) = frame.get_body_ref() {
149149
if e.get_code() == ERR_CONN_CLOSED {
@@ -194,7 +194,7 @@ where
194194
});
195195

196196
runtime::spawn(async move {
197-
while let Some(next) = read_rx.next().await {
197+
while let Some(next) = read_rx.recv().await {
198198
if let Err(e) = cloned_socket.dispatch(next, None).await {
199199
error!("dispatch frame failed: {}", e);
200200
break;

rsocket/src/core/server.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ where
146146
}
147147
});
148148

149-
while let Some(frame) = read_rx.next().await {
149+
while let Some(frame) = read_rx.recv().await {
150150
if let Err(e) = socket.dispatch(frame, acceptor.as_ref().as_ref()).await {
151151
error!("dispatch incoming frame failed: {}", e);
152152
break;

rsocket/src/transport/socket.rs

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ use futures::{Sink, SinkExt, Stream, StreamExt};
1515
use std::future::Future;
1616
use std::pin::Pin;
1717
use std::sync::Arc;
18-
use tokio::prelude::*;
1918
use tokio::sync::{mpsc, oneshot, RwLock};
2019

2120
#[derive(Clone)]
@@ -95,7 +94,7 @@ impl DuplexSocket {
9594

9695
#[inline]
9796
async fn loop_canceller(&self, mut rx: mpsc::Receiver<u32>) {
98-
while let Some(sid) = rx.next().await {
97+
while let Some(sid) = rx.recv().await {
9998
self.handlers.remove(&sid);
10099
}
101100
}
@@ -456,12 +455,16 @@ impl DuplexSocket {
456455
async fn on_request_channel(&self, sid: u32, flag: u16, first: Payload) {
457456
let responder = self.responder.clone();
458457
let tx = self.tx.clone();
459-
let (sender, receiver) = mpsc::channel::<Result<Payload>>(32);
458+
let (sender, mut receiver) = mpsc::channel::<Result<Payload>>(32);
460459
sender.send(Ok(first)).await.expect("Send failed!");
461460
self.register_handler(sid, Handler::ReqRC(sender)).await;
462461
runtime::spawn(async move {
463462
// respond client channel
464-
let mut outputs = responder.request_channel(Box::pin(receiver));
463+
let mut outputs = responder.request_channel(Box::pin(stream! {
464+
while let Some(it) = receiver.recv().await{
465+
yield it;
466+
}
467+
}));
465468
// TODO: support custom RequestN.
466469
let request_n = frame::RequestN::builder(sid, 0).build();
467470

@@ -784,7 +787,7 @@ impl RSocket for DuplexSocket {
784787
let sid = self.seq.next();
785788
let tx = self.tx.clone();
786789
// register handler
787-
let (sender, receiver) = mpsc::channel::<Result<Payload>>(32);
790+
let (sender, mut receiver) = mpsc::channel::<Result<Payload>>(32);
788791
let handlers = self.handlers.clone();
789792
let splitter = self.splitter.clone();
790793
runtime::spawn(async move {
@@ -843,14 +846,18 @@ impl RSocket for DuplexSocket {
843846
}
844847
}
845848
});
846-
Box::pin(receiver)
849+
Box::pin(stream! {
850+
while let Some(it) = receiver.recv().await{
851+
yield it;
852+
}
853+
})
847854
}
848855

849856
fn request_channel(&self, mut reqs: Flux<Result<Payload>>) -> Flux<Result<Payload>> {
850857
let sid = self.seq.next();
851858
let mut tx = self.tx.clone();
852859
// register handler
853-
let (sender, receiver) = mpsc::channel::<Result<Payload>>(32);
860+
let (sender, mut receiver) = mpsc::channel::<Result<Payload>>(32);
854861
let handlers = self.handlers.clone();
855862
let splitter = self.splitter.clone();
856863
runtime::spawn(async move {
@@ -884,7 +891,11 @@ impl RSocket for DuplexSocket {
884891
error!("complete REQUEST_CHANNEL failed: {}", e);
885892
}
886893
});
887-
Box::pin(receiver)
894+
Box::pin(stream! {
895+
while let Some(it) = receiver.recv().await{
896+
yield it;
897+
}
898+
})
888899
}
889900
}
890901

0 commit comments

Comments
 (0)