Optimization FileReader

This commit is contained in:
weisd
2024-11-02 23:36:04 +08:00
parent 2c26ea534f
commit 71d4f1568f
4 changed files with 14 additions and 18 deletions

View File

@@ -1,6 +1,6 @@
use crate::{
disk::{error::DiskError, DiskStore, FileReader, FileWriter, Reader},
erasure::{ReadAt, Write},
erasure::{ReadAt, Writer},
error::{Error, Result},
store_api::BitrotAlgorithm,
};
@@ -15,15 +15,11 @@ use std::{
collections::HashMap,
io::{Cursor, Read},
};
use tracing::{error, warn};
use tracing::error;
use tokio::{
io::AsyncWriteExt,
spawn,
sync::{
mpsc::{self, Sender},
RwLock,
},
sync::mpsc::{self, Sender},
task::JoinHandle,
};
@@ -152,7 +148,7 @@ pub fn bitrot_algorithm_from_string(s: &str) -> BitrotAlgorithm {
BitrotAlgorithm::HighwayHash256S
}
pub type BitrotWriter = Box<dyn Write + Send + 'static>;
pub type BitrotWriter = Box<dyn Writer + Send + 'static>;
pub async fn new_bitrot_writer(
disk: DiskStore,
@@ -281,7 +277,7 @@ impl WholeBitrotWriter {
}
#[async_trait::async_trait]
impl Write for WholeBitrotWriter {
impl Writer for WholeBitrotWriter {
fn as_any(&self) -> &dyn Any {
self
}
@@ -383,7 +379,7 @@ impl StreamingBitrotWriter {
}
#[async_trait::async_trait]
impl Write for StreamingBitrotWriter {
impl Writer for StreamingBitrotWriter {
fn as_any(&self) -> &dyn Any {
self
}
@@ -507,7 +503,7 @@ impl BitrotFileWriter {
}
#[async_trait::async_trait]
impl Write for BitrotFileWriter {
impl Writer for BitrotFileWriter {
fn as_any(&self) -> &dyn Any {
self
}

View File

@@ -14,7 +14,7 @@ pub const FORMAT_CONFIG_FILE: &str = "format.json";
const STORAGE_FORMAT_FILE: &str = "xl.meta";
use crate::{
erasure::{ReadAt, Write},
erasure::{ReadAt, Writer},
error::{Error, Result},
file_meta::{merge_file_meta_versions, FileMeta, FileMetaShallowVersion},
store_api::{FileInfo, RawFileInfo},
@@ -657,7 +657,7 @@ pub enum FileWriter {
}
#[async_trait::async_trait]
impl Write for FileWriter {
impl Writer for FileWriter {
fn as_any(&self) -> &dyn Any {
self
}
@@ -686,7 +686,7 @@ impl BufferWriter {
}
#[async_trait::async_trait]
impl Write for BufferWriter {
impl Writer for BufferWriter {
fn as_any(&self) -> &dyn Any {
self
}
@@ -711,7 +711,7 @@ impl LocalFileWriter {
}
#[async_trait::async_trait]
impl Write for LocalFileWriter {
impl Writer for LocalFileWriter {
fn as_any(&self) -> &dyn Any {
self
}
@@ -763,7 +763,7 @@ impl RemoteFileWriter {
}
#[async_trait::async_trait]
impl Write for RemoteFileWriter {
impl Writer for RemoteFileWriter {
fn as_any(&self) -> &dyn Any {
self
}

View File

@@ -346,7 +346,7 @@ impl Erasure {
}
#[async_trait::async_trait]
pub trait Write {
pub trait Writer {
fn as_any(&self) -> &dyn Any;
async fn write(&mut self, buf: &[u8]) -> Result<()>;
async fn close(&mut self) -> Result<()> {

View File

@@ -5,7 +5,7 @@ use ecstore::{
DeleteOptions, DiskInfoOptions, DiskStore, FileInfoVersions, ReadMultipleReq, ReadOptions, Reader, UpdateMetadataOpts,
WalkDirOptions,
},
erasure::{ReadAt, Write},
erasure::{ReadAt, Writer},
peer::{LocalPeerS3Client, PeerS3Client},
store::{all_local_disk_path, find_local_disk},
store_api::{BucketOptions, DeleteBucketOptions, FileInfo, MakeBucketOptions},