pub struct ChunkedUploadSession {
pub session_id: String,
pub filename: String,
pub total_size: usize,
pub chunk_size: usize,
pub total_chunks: usize,
pub received_chunks: usize,
pub temp_dir: PathBuf,
pub completed: bool,
/* private fields */
}Expand description
Metadata for a chunked upload session
Fields§
§session_id: StringUnique session ID
filename: StringOriginal filename
total_size: usizeTotal file size in bytes
chunk_size: usizeChunk size in bytes
total_chunks: usizeTotal number of chunks
received_chunks: usizeNumber of chunks received so far
temp_dir: PathBufTemporary directory for chunks
completed: boolWhether the upload is complete
Implementations§
Source§impl ChunkedUploadSession
impl ChunkedUploadSession
Sourcepub fn new(
session_id: String,
filename: String,
total_size: usize,
chunk_size: usize,
temp_dir: PathBuf,
) -> Result<Self, ChunkedUploadError>
pub fn new( session_id: String, filename: String, total_size: usize, chunk_size: usize, temp_dir: PathBuf, ) -> Result<Self, ChunkedUploadError>
Create a new upload session
Returns ChunkedUploadError::InvalidChunk if chunk_size is zero.
Sourcepub fn get_progress(&self) -> &UploadProgress
pub fn get_progress(&self) -> &UploadProgress
Get detailed upload progress
§Examples
use reinhardt_http::chunked_upload::ChunkedUploadSession;
use std::path::PathBuf;
let session = ChunkedUploadSession::new(
"session1".to_string(),
"file.bin".to_string(),
1000,
100,
PathBuf::from("/tmp")
).unwrap();
let progress = session.get_progress();
assert_eq!(progress.percentage, 0.0);Sourcepub fn is_complete(&self) -> bool
pub fn is_complete(&self) -> bool
Check if upload is complete
Trait Implementations§
Source§impl Clone for ChunkedUploadSession
impl Clone for ChunkedUploadSession
Source§fn clone(&self) -> ChunkedUploadSession
fn clone(&self) -> ChunkedUploadSession
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ChunkedUploadSession
impl RefUnwindSafe for ChunkedUploadSession
impl Send for ChunkedUploadSession
impl Sync for ChunkedUploadSession
impl Unpin for ChunkedUploadSession
impl UnsafeUnpin for ChunkedUploadSession
impl UnwindSafe for ChunkedUploadSession
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more