Skip to content

Commit

Permalink
use tokio::select instead of futures::select and remove .fuse() for F…
Browse files Browse the repository at this point in the history
…usedFuture
  • Loading branch information
ynqa committed May 19, 2024
1 parent bf1e9df commit c2410fa
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 19 deletions.
10 changes: 5 additions & 5 deletions promkit-async/src/display_coordinator.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ use std::{
};

use crossterm::terminal;
use futures::{Future, FutureExt};
use futures::Future;
use futures_timer::Delay;
use tokio::sync::mpsc::Receiver;

Expand Down Expand Up @@ -69,11 +69,11 @@ impl DisplayCoordinator {

async move {
loop {
let delay = Delay::new(delay_duration).fuse();
let delay = Delay::new(delay_duration);
futures::pin_mut!(delay);

futures::select! {
maybe_tuple = loading_activation_receiver.recv().fuse() => {
tokio::select! {
maybe_tuple = loading_activation_receiver.recv() => {
match maybe_tuple {
Some((version, index)) => {
if version > global.load(Ordering::SeqCst) {
Expand All @@ -84,7 +84,7 @@ impl DisplayCoordinator {
None => break,
}
},
maybe_triplet = indexed_pane_receiver.recv().fuse() => {
maybe_triplet = indexed_pane_receiver.recv() => {
match maybe_triplet {
Some((version, index, pane)) => {
if version >= global.load(Ordering::SeqCst) {
Expand Down
8 changes: 4 additions & 4 deletions promkit-async/src/event_buffer.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use std::time::Duration;

use crossterm::event::{Event, KeyCode, KeyEvent, KeyEventKind, KeyEventState, KeyModifiers};
use futures::future::{Future, FutureExt};
use futures::future::Future;
use futures_timer::Delay;
use tokio::sync::mpsc::{Receiver, Sender};

Expand Down Expand Up @@ -32,11 +32,11 @@ impl EventBuffer {

async move {
loop {
let delay = Delay::new(delay_duration).fuse();
let delay = Delay::new(delay_duration);
futures::pin_mut!(delay);

futures::select! {
maybe_event = event_receiver.recv().fuse() => {
tokio::select! {
maybe_event = event_receiver.recv() => {
if let Some(event) = maybe_event {
buffer.push(event);
} else {
Expand Down
12 changes: 6 additions & 6 deletions promkit-async/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ use std::{
time::Duration,
};

use futures::{future::FutureExt, stream::StreamExt, Future};
use futures::{stream::StreamExt, Future};

use tokio::sync::mpsc::Receiver;

Expand Down Expand Up @@ -99,8 +99,8 @@ impl<T: PaneSyncer> Prompt<T> {
let version = Arc::new(AtomicUsize::new(1));

loop {
futures::select! {
maybe_event = stream.next().fuse() => {
tokio::select! {
maybe_event = stream.next() => {
if let Some(Ok(event)) = maybe_event {
match event {
Event::Resize(width, height) => {
Expand All @@ -112,18 +112,18 @@ impl<T: PaneSyncer> Prompt<T> {
}
}
},
maybe_debounced_resize = debounced_resize_receiver.recv().fuse() => {
maybe_debounced_resize = debounced_resize_receiver.recv() => {
if let Some((width, height)) = maybe_debounced_resize {
size = (width, height);
}
},
maybe_event_buffer = event_buffer_receiver.recv().fuse() => {
maybe_event_buffer = event_buffer_receiver.recv() => {
if let Some(event_buffer) = maybe_event_buffer {
let next = version.fetch_add(1, Ordering::SeqCst);
self.renderer.sync(next, &event_buffer, size.0, size.1).await?;
}
},
maybe_fin = fin_receiver.recv().fuse() => {
maybe_fin = fin_receiver.recv() => {
if maybe_fin.is_some() {
break;
}
Expand Down
8 changes: 4 additions & 4 deletions promkit-async/src/resize_debounce.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use std::time::Duration;

use futures::future::{Future, FutureExt};
use futures::future::Future;
use futures_timer::Delay;

use tokio::sync::mpsc::{Receiver, Sender};
Expand All @@ -23,11 +23,11 @@ impl ResizeDebounce {
async move {
let mut last_event: Option<(u16, u16)> = None;
loop {
let delay = Delay::new(delay_duration).fuse();
let delay = Delay::new(delay_duration);
futures::pin_mut!(delay);

futures::select! {
resize_opt = resize_receiver.recv().fuse() => {
tokio::select! {
resize_opt = resize_receiver.recv() => {
if let Some(event) = resize_opt {
last_event = Some(event);
} else {
Expand Down

0 comments on commit c2410fa

Please sign in to comment.