* Re: [pbs-devel] [PATCH proxmox-backup v2 05/14] tape/pool_writer: clippy fixes
@ 2021-04-19 8:48 Wolfgang Bumiller
0 siblings, 0 replies; 2+ messages in thread
From: Wolfgang Bumiller @ 2021-04-19 8:48 UTC (permalink / raw)
To: Proxmox Backup Server development discussion, Dominik Csapak
> On 04/16/2021 12:29 PM Dominik Csapak <d.csapak@proxmox.com> wrote:
>
>
> fixes:
> * impl (or derive) Default for structs with `new()`
> * put complex type in type definition
>
> Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
> ---
> src/tape/pool_writer/catalog_set.rs | 1 +
> src/tape/pool_writer/mod.rs | 4 +++-
> src/tape/pool_writer/new_chunks_iterator.rs | 4 +++-
> 3 files changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/src/tape/pool_writer/catalog_set.rs b/src/tape/pool_writer/catalog_set.rs
> index fbca3e97..b3630915 100644
> --- a/src/tape/pool_writer/catalog_set.rs
> +++ b/src/tape/pool_writer/catalog_set.rs
> @@ -12,6 +12,7 @@ use crate::{
> /// Helper to build and query sets of catalogs
> ///
> /// Similar to MediaSetCatalog, but allows to modify the last catalog.
> +#[derive(Default)]
> pub struct CatalogSet {
> // read only part
> pub media_set_catalog: MediaSetCatalog,
> diff --git a/src/tape/pool_writer/mod.rs b/src/tape/pool_writer/mod.rs
> index 99fdb48c..36c4dea0 100644
> --- a/src/tape/pool_writer/mod.rs
> +++ b/src/tape/pool_writer/mod.rs
> @@ -531,6 +531,8 @@ impl PoolWriter {
> }
> }
>
> +type WriteChunkArchiveResult = (Vec<[u8;32]>, Uuid, bool, usize);
Urgh. Struct please....
Or, it's used exactly once, so maybe just #[clippy] this away and document on the function.
But erm, structs don't hurt.
(They really don't)
> +
> /// write up to <max_size> of chunks
> fn write_chunk_archive<'a>(
> _worker: &WorkerTask,
> @@ -538,7 +540,7 @@ fn write_chunk_archive<'a>(
> chunk_iter: &mut std::iter::Peekable<NewChunksIterator>,
> store: &str,
> max_size: usize,
> -) -> Result<(Vec<[u8;32]>, Uuid, bool, usize), Error> {
> +) -> Result<WriteChunkArchiveResult, Error> {
>
> let (mut writer, content_uuid) = ChunkArchiveWriter::new(writer, store, true)?;
>
> diff --git a/src/tape/pool_writer/new_chunks_iterator.rs b/src/tape/pool_writer/new_chunks_iterator.rs
> index 56491356..55ea407d 100644
> --- a/src/tape/pool_writer/new_chunks_iterator.rs
> +++ b/src/tape/pool_writer/new_chunks_iterator.rs
> @@ -15,12 +15,14 @@ use crate::{
> },
> };
>
> +type ChunkReceiver = std::sync::mpsc::Receiver<Result<Option<([u8; 32], DataBlob)>, Error>>;
One of these days I'll have change all those million `[u8; 32]` to a `Digest`.
And make all the digest "methods" we now have free-standing in multiple crates real *methods*.
> +
> /// Chunk iterator which use a separate thread to read chunks
> ///
> /// The iterator skips duplicate chunks and chunks already in the
> /// catalog.
> pub struct NewChunksIterator {
> - rx: std::sync::mpsc::Receiver<Result<Option<([u8; 32], DataBlob)>, Error>>,
> + rx: ChunkReceiver,
> }
>
> impl NewChunksIterator {
> --
> 2.20.1
^ permalink raw reply [flat|nested] 2+ messages in thread
* [pbs-devel] [PATCH proxmox-backup v2 05/14] tape/pool_writer: clippy fixes
2021-04-16 10:28 [pbs-devel] [PATCH proxmox-backup v2 00/14] various " Dominik Csapak
@ 2021-04-16 10:29 ` Dominik Csapak
0 siblings, 0 replies; 2+ messages in thread
From: Dominik Csapak @ 2021-04-16 10:29 UTC (permalink / raw)
To: pbs-devel
fixes:
* impl (or derive) Default for structs with `new()`
* put complex type in type definition
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
src/tape/pool_writer/catalog_set.rs | 1 +
src/tape/pool_writer/mod.rs | 4 +++-
src/tape/pool_writer/new_chunks_iterator.rs | 4 +++-
3 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/tape/pool_writer/catalog_set.rs b/src/tape/pool_writer/catalog_set.rs
index fbca3e97..b3630915 100644
--- a/src/tape/pool_writer/catalog_set.rs
+++ b/src/tape/pool_writer/catalog_set.rs
@@ -12,6 +12,7 @@ use crate::{
/// Helper to build and query sets of catalogs
///
/// Similar to MediaSetCatalog, but allows to modify the last catalog.
+#[derive(Default)]
pub struct CatalogSet {
// read only part
pub media_set_catalog: MediaSetCatalog,
diff --git a/src/tape/pool_writer/mod.rs b/src/tape/pool_writer/mod.rs
index 99fdb48c..36c4dea0 100644
--- a/src/tape/pool_writer/mod.rs
+++ b/src/tape/pool_writer/mod.rs
@@ -531,6 +531,8 @@ impl PoolWriter {
}
}
+type WriteChunkArchiveResult = (Vec<[u8;32]>, Uuid, bool, usize);
+
/// write up to <max_size> of chunks
fn write_chunk_archive<'a>(
_worker: &WorkerTask,
@@ -538,7 +540,7 @@ fn write_chunk_archive<'a>(
chunk_iter: &mut std::iter::Peekable<NewChunksIterator>,
store: &str,
max_size: usize,
-) -> Result<(Vec<[u8;32]>, Uuid, bool, usize), Error> {
+) -> Result<WriteChunkArchiveResult, Error> {
let (mut writer, content_uuid) = ChunkArchiveWriter::new(writer, store, true)?;
diff --git a/src/tape/pool_writer/new_chunks_iterator.rs b/src/tape/pool_writer/new_chunks_iterator.rs
index 56491356..55ea407d 100644
--- a/src/tape/pool_writer/new_chunks_iterator.rs
+++ b/src/tape/pool_writer/new_chunks_iterator.rs
@@ -15,12 +15,14 @@ use crate::{
},
};
+type ChunkReceiver = std::sync::mpsc::Receiver<Result<Option<([u8; 32], DataBlob)>, Error>>;
+
/// Chunk iterator which use a separate thread to read chunks
///
/// The iterator skips duplicate chunks and chunks already in the
/// catalog.
pub struct NewChunksIterator {
- rx: std::sync::mpsc::Receiver<Result<Option<([u8; 32], DataBlob)>, Error>>,
+ rx: ChunkReceiver,
}
impl NewChunksIterator {
--
2.20.1
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-04-19 8:49 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-19 8:48 [pbs-devel] [PATCH proxmox-backup v2 05/14] tape/pool_writer: clippy fixes Wolfgang Bumiller
-- strict thread matches above, loose matches on Subject: below --
2021-04-16 10:28 [pbs-devel] [PATCH proxmox-backup v2 00/14] various " Dominik Csapak
2021-04-16 10:29 ` [pbs-devel] [PATCH proxmox-backup v2 05/14] tape/pool_writer: " Dominik Csapak
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal