mirror of
https://github.com/rustfs/rustfs.git
synced 2026-01-17 09:40:32 +00:00
Optimization FileReader
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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<()> {
|
||||
|
||||
@@ -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},
|
||||
|
||||
Reference in New Issue
Block a user