Skip to content

Commit f2d80f8

Browse files
committed
use BufReader and BufWriter to read/write archive index files
1 parent 22d6494 commit f2d80f8

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/storage/archive_index.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use crate::storage::{compression::CompressionAlgorithm, FileRange};
33
use anyhow::{bail, Context as _};
44
use serde::{Deserialize, Serialize};
55
use std::collections::HashMap;
6-
use std::io;
6+
use std::io::{self, Write};
77
use std::path::{Path, PathBuf};
88

99
#[derive(Deserialize, Serialize)]
@@ -28,11 +28,14 @@ pub(crate) struct Index {
2828

2929
impl Index {
3030
pub(crate) fn load(reader: impl io::Read) -> Result<Index> {
31-
serde_cbor::from_reader(reader).context("deserialization error")
31+
serde_cbor::from_reader(io::BufReader::new(reader)).context("deserialization error")
3232
}
3333

3434
pub(crate) fn save(&self, writer: impl io::Write) -> Result<()> {
35-
serde_cbor::to_writer(writer, self).context("serialization error")
35+
let mut buf = io::BufWriter::new(writer);
36+
serde_cbor::to_writer(&mut buf, self).context("serialization error")?;
37+
buf.flush()?;
38+
Ok(())
3639
}
3740

3841
pub(crate) fn new_from_zip<R: io::Read + io::Seek>(zipfile: &mut R) -> Result<Index> {

0 commit comments

Comments
 (0)