Bump edition to now stable 2024 edition (shiny!).

This commit is contained in:
2025-02-23 11:52:54 +00:00
parent 9f83c5f295
commit b8aa203c05
14 changed files with 214 additions and 171 deletions
+13 -7
View File
@@ -14,8 +14,8 @@ pub struct Task {
}
impl Task {
pub fn new(future: impl Future<Output = ()> + 'static) -> Task {
Task {
pub fn new(future: impl Future<Output = ()> + 'static) -> Self {
Self {
id: TaskId::new(),
future: Box::pin(future),
}
@@ -32,9 +32,15 @@ pub struct Executor {
waker_cache: BTreeMap<TaskId, Waker>,
}
impl Default for Executor {
fn default() -> Self {
Self::new()
}
}
impl Executor {
pub fn new() -> Self {
Executor {
Self {
tasks: BTreeMap::new(),
task_queue: Arc::new(ArrayQueue::new(100)),
waker_cache: BTreeMap::new(),
@@ -63,7 +69,7 @@ impl Executor {
};
let waker = waker_cache
.entry(task_id)
.or_insert_with(|| TaskWaker::new(task_id, task_queue.clone()));
.or_insert_with(|| TaskWaker::waker(task_id, task_queue.clone()));
let mut context = Context::from_waker(waker);
match task.poll(&mut context) {
Poll::Ready(()) => {
@@ -98,8 +104,8 @@ struct TaskWaker {
}
impl TaskWaker {
fn new(task_id: TaskId, task_queue: Arc<ArrayQueue<TaskId>>) -> Waker {
Waker::from(Arc::new(TaskWaker {
fn waker(task_id: TaskId, task_queue: Arc<ArrayQueue<TaskId>>) -> Waker {
Waker::from(Arc::new(Self {
task_id,
task_queue,
}))
@@ -128,6 +134,6 @@ struct TaskId(u64);
impl TaskId {
fn new() -> Self {
static NEXT: AtomicU64 = AtomicU64::new(0);
TaskId(NEXT.fetch_add(1, Ordering::Relaxed))
Self(NEXT.fetch_add(1, Ordering::Relaxed))
}
}