From: Lizzy Fleckenstein Date: Thu, 9 Feb 2023 15:48:26 +0000 (+0100) Subject: Get rid of Cell usage X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=cac22bec5ca72c5feaa774d335c9aaba7ee12f6f;p=mt_rudp.git Get rid of Cell usage --- diff --git a/src/lib.rs b/src/lib.rs index f0a91fe..334692a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -11,13 +11,7 @@ pub use prelude::*; use async_trait::async_trait; use num_enum::TryFromPrimitive; -use std::{ - cell::{Cell, OnceCell}, - collections::HashMap, - io, ops, - sync::Arc, - time::Instant, -}; +use std::{cell::OnceCell, collections::HashMap, io, ops, sync::Arc, time::Instant}; use tokio::{ sync::{mpsc, watch, Mutex, RwLock}, task::JoinSet, @@ -150,7 +144,7 @@ struct Split { } struct RecvChan { - packets: Vec>>>, // char ** 😛 + packets: Vec>>, // char ** 😛 splits: HashMap, seqnum: u16, num: u8, diff --git a/src/recv.rs b/src/recv.rs index e685c9c..a88426f 100644 --- a/src/recv.rs +++ b/src/recv.rs @@ -2,7 +2,7 @@ use crate::{prelude::*, ticker, RecvChan, RecvWorker, RudpShare, Split}; use async_recursion::async_recursion; use byteorder::{BigEndian, ReadBytesExt, WriteBytesExt}; use std::{ - cell::{Cell, OnceCell}, + cell::OnceCell, collections::HashMap, io, pin::Pin, @@ -34,7 +34,7 @@ impl RecvWorker { .map(|num| { Mutex::new(RecvChan { num, - packets: (0..REL_BUFFER).map(|_| Cell::new(None)).collect(), + packets: (0..REL_BUFFER).map(|_| None).collect(), seqnum: INIT_SEQNUM, splits: HashMap::new(), }) @@ -239,7 +239,7 @@ impl RecvWorker { println!("Rel"); let seqnum = cursor.read_u16::()?; - chan.packets[to_seqnum(seqnum)].set(Some(cursor.remaining_slice().into())); + chan.packets[to_seqnum(seqnum)].replace(cursor.remaining_slice().into()); let mut ack_data = Vec::with_capacity(3); ack_data.write_u8(CtlType::Ack as u8)?;