add async feature #1

Merged
b4tman merged 62 commits from async into master 2023-08-18 06:29:46 +00:00
2 changed files with 8 additions and 5 deletions
Showing only changes of commit f2fc72056b - Show all commits

View File

@ -160,7 +160,7 @@ async fn read_from_db(id: u32) -> Option<Question> {
match reader.get(index).await { match reader.get(index).await {
Ok(question) => Some(question), Ok(question) => Some(question),
Err(_) => None Err(_) => None,
} }
} }
async fn write_db() { async fn write_db() {
@ -168,7 +168,8 @@ async fn write_db() {
tokio::try_join!( tokio::try_join!(
tokio::spawn(zip_reader_task(tx)), tokio::spawn(zip_reader_task(tx)),
tokio::spawn(db_writer_task(rx)) tokio::spawn(db_writer_task(rx))
).expect("tokio join"); )
.expect("tokio join");
println!("all done"); println!("all done");
} }
async fn db_writer_task(rx: UnboundedReceiver<Question>) { async fn db_writer_task(rx: UnboundedReceiver<Question>) {

View File

@ -79,7 +79,9 @@ where
let item_data = bincode::encode_to_vec(item, BINCODE_CFG).str_err()?; let item_data = bincode::encode_to_vec(item, BINCODE_CFG).str_err()?;
let mut zencoder = ZstdEncoder::with_quality(&item_data[..], self.compress_lvl); let mut zencoder = ZstdEncoder::with_quality(&item_data[..], self.compress_lvl);
io::copy(&mut zencoder, &mut self.data_buf).await.str_err()?; io::copy(&mut zencoder, &mut self.data_buf)
.await
.str_err()?;
self.table.push(pos); self.table.push(pos);