Skip to main content

nextcloud_users/capabilities/
chunked_upload.rs

1use serde::{Deserialize, Serialize};
2
3use crate::wire::lossy_opt_u64;
4
5/// Configuration parameters for chunked file uploads.
6#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
7pub struct ChunkedUpload {
8    /// Maximum allowable size in bytes for an individual upload chunk.
9    #[serde(
10        default,
11        alias = "max_size",
12        alias = "maxSize",
13        deserialize_with = "lossy_opt_u64"
14    )]
15    pub max_size: Option<u64>,
16    /// Maximum number of upload chunks that may be sent concurrently.
17    #[serde(default, alias = "max_parallel_count", alias = "maxParallelCount")]
18    pub max_parallel_count: Option<u32>,
19}
20
21impl ChunkedUpload {
22    /// Maximum chunk size limit in bytes.
23    pub const fn max_size(&self) -> Option<u64> {
24        self.max_size
25    }
26
27    /// Maximum concurrent chunk upload count.
28    pub const fn max_parallel_count(&self) -> Option<u32> {
29        self.max_parallel_count
30    }
31}