pub enum TransferProgress {
Started {
session_id: String,
accepted_files: Vec<String>,
total_bytes: u64,
},
FileProgress {
session_id: String,
file_id: String,
file_name: String,
file_bytes_sent: u64,
file_total_bytes: u64,
session_bytes_sent: u64,
session_total_bytes: u64,
bytes_per_second: u64,
eta: Option<Duration>,
},
FileFinished {
session_id: String,
file_id: String,
file_name: String,
},
FileFailed {
session_id: String,
file_id: String,
file_name: String,
error: String,
},
SessionCompleted {
session_id: String,
total_files: usize,
total_bytes: u64,
duration: Duration,
},
SessionCancelled {
session_id: String,
reason: String,
},
}Expand description
Fine-grained transfer progress updates sent during session execution.
Variants§
Started
Negotiation succeeded and transfer started.
FileProgress
Progress update during upload.
Fields
FileFinished
A single file finished uploading and was accepted by the receiver.
FileFailed
A single file upload encountered an error.
SessionCompleted
All accepted files transferred successfully.
SessionCancelled
The transfer session was cancelled or aborted.
Trait Implementations§
Source§impl Clone for TransferProgress
impl Clone for TransferProgress
Auto Trait Implementations§
impl Freeze for TransferProgress
impl RefUnwindSafe for TransferProgress
impl Send for TransferProgress
impl Sync for TransferProgress
impl Unpin for TransferProgress
impl UnsafeUnpin for TransferProgress
impl UnwindSafe for TransferProgress
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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