Skip to main content

Module upload_list

Module upload_list 

Source
Expand description

Files on their way somewhere, over the Dropzone that took them.

Nothing here uploads anything: this crate has no network, the same reason ImageViewer fetches nothing and TransportBar plays nothing. Every state on the list is a fact the host established, and every control reports.

§A refusal is not a failure

A file the host would not take — too large, the wrong kind, past a quota — never started, so it did not fail. UploadState::Refused is its own state, carrying the host’s reason and offering no retry, because trying the same file against the same rule again cannot end differently. That is Dropzone’s own distinction between refusing and idle, carried one step further: the zone refuses a payload while it is over the zone, and this list keeps the refusal afterwards where the file’s row is.

UploadState::Failed is the other thing entirely: it started, it did not finish, the host’s reason says why, and a retry is offered.

§Overall progress is only claimed when it is known

The list adds up the per-file fractions, and stops if any file that is uploading does not have one. A file uploading against a length nobody declared has no fraction, so the total has no extent either, and the bar goes indeterminate exactly as ProgressBar already does rather than inventing a percentage out of a file count.

Structs§

Upload
One file on the list, identified by business identity.
UploadList
A list of files being uploaded, optionally over the zone that took them.

Enums§

OverallProgress
How much of the whole batch is done, if anybody knows.
UploadState
Where one file has got to.