Skip to content

Commit 07fb49f

Browse files
ref(chunks): Use NonZeroUsize in ChunkServerOptions
Builds on the parent PRs by declaring `chunk_size` as `NonZeroUsize` on the `ChunkServerOptions` struct. This way, `serde` already will validate the value when deserializing; no further checks against zero are needed.
1 parent 5b3a9bf commit 07fb49f

File tree

6 files changed

+11
-10
lines changed

6 files changed

+11
-10
lines changed

src/api/data_types/chunking/upload/options.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
use std::num::NonZeroUsize;
2+
13
use serde::Deserialize;
24

35
use super::{ChunkCompression, ChunkHashAlgorithm, ChunkUploadCapability};
@@ -17,7 +19,7 @@ pub struct ChunkServerOptions {
1719
pub max_wait: u64,
1820
#[expect(dead_code)]
1921
pub hash_algorithm: ChunkHashAlgorithm,
20-
pub chunk_size: u64,
22+
pub chunk_size: NonZeroUsize,
2123
pub concurrency: u8,
2224
#[serde(default)]
2325
pub compression: Vec<ChunkCompression>,

src/commands/build/upload.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -507,10 +507,10 @@ fn upload_file(
507507
pb.enable_steady_tick(100);
508508
pb.set_style(progress_style);
509509

510-
let chunk_size = chunk_upload_options.chunk_size as usize;
511-
let (checksum, checksums) = get_sha1_checksums(bytes, chunk_size.try_into()?);
510+
let chunk_size = chunk_upload_options.chunk_size;
511+
let (checksum, checksums) = get_sha1_checksums(bytes, chunk_size);
512512
let mut chunks = bytes
513-
.chunks(chunk_size)
513+
.chunks(chunk_size.into())
514514
.zip(checksums.iter())
515515
.map(|(data, checksum)| Chunk((*checksum, data)))
516516
.collect::<Vec<_>>();

src/commands/dart_symbol_map/upload.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ pub(super) fn execute(args: DartSymbolMapUploadArgs) -> Result<()> {
159159
let options = ChunkOptions::new(chunk_upload_options, org, project)
160160
.with_max_wait(DEFAULT_MAX_WAIT);
161161

162-
let chunked = Chunked::from(object, (options.server_options().chunk_size as usize).try_into()?);
162+
let chunked = Chunked::from(object, options.server_options().chunk_size);
163163
let (_uploaded, has_processing_errors) = upload_chunked_objects(&[chunked], options)?;
164164
if has_processing_errors {
165165
bail!("Some symbol maps did not process correctly");

src/utils/dif_upload/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1236,7 +1236,7 @@ fn upload_difs_chunked(
12361236
processed.extend(source_bundles);
12371237
}
12381238

1239-
let chunk_size = (chunk_options.chunk_size as usize).try_into()?;
1239+
let chunk_size = chunk_options.chunk_size;
12401240

12411241
// Calculate checksums and chunks
12421242
let chunked = prepare_difs(processed, |m| Ok(Chunked::from(m, chunk_size)))?;

src/utils/file_upload.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -638,10 +638,9 @@ fn upload_files_chunked(
638638
pb.set_style(progress_style);
639639

640640
let view = ByteView::open(archive.path())?;
641-
let (checksum, checksums) =
642-
get_sha1_checksums(&view, (options.chunk_size as usize).try_into()?);
641+
let (checksum, checksums) = get_sha1_checksums(&view, options.chunk_size);
643642
let mut chunks = view
644-
.chunks(options.chunk_size as usize)
643+
.chunks(options.chunk_size.into())
645644
.zip(checksums.iter())
646645
.map(|(data, checksum)| Chunk((*checksum, data)))
647646
.collect::<Vec<_>>();

src/utils/proguard/upload.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ pub fn chunk_upload(
2626
org: &str,
2727
project: &str,
2828
) -> Result<()> {
29-
let chunk_size = (chunk_upload_options.chunk_size as usize).try_into()?;
29+
let chunk_size = chunk_upload_options.chunk_size;
3030
let chunked_mappings = mappings
3131
.iter()
3232
.map(|mapping| Chunked::from(mapping, chunk_size))

0 commit comments

Comments
 (0)