Enum glean_core::upload::PingUploadTask
source · [−]pub enum PingUploadTask {
Upload {
request: PingRequest,
},
Wait {
time: u64,
},
Done { /* private fields */ },
}
Expand description
An enum representing the possible upload tasks to be performed by an uploader.
When asking for the next ping request to upload, the requester may receive one out of three possible tasks.
If new variants are added, this should be reflected in glean-core/ffi/src/upload.rs
as well.
Variants
Upload
Fields
request: PingRequest
The ping request for upload
See PingRequest
for more information.
An upload task
Wait
Fields
time: u64
The time in milliseconds the requester should wait before requesting a new task.
A flag signaling that the pending pings directories are not done being processed, thus the requester should wait and come back later.
Done
Fields
A flag signaling that requester doesn’t need to request any more upload tasks at this moment.
There are three possibilities for this scenario:
- Pending pings queue is empty, no more pings to request;
- Requester has gotten more than MAX_WAIT_ATTEMPTS (3, by default)
PingUploadTask::Wait
responses in a row; - Requester has reported more than MAX_RECOVERABLE_FAILURES_PER_UPLOADING_WINDOW recoverable upload failures on the same uploading window (see below) and should stop requesting at this moment.
An “uploading window” starts when a requester gets a new
PingUploadTask::Upload(PingRequest)
response and finishes when they
finally get a PingUploadTask::Done
or PingUploadTask::Wait
response.
Implementations
Trait Implementations
sourceimpl Debug for PingUploadTask
impl Debug for PingUploadTask
sourceimpl PartialEq<PingUploadTask> for PingUploadTask
impl PartialEq<PingUploadTask> for PingUploadTask
sourcefn eq(&self, other: &PingUploadTask) -> bool
fn eq(&self, other: &PingUploadTask) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &PingUploadTask) -> bool
fn ne(&self, other: &PingUploadTask) -> bool
This method tests for !=
.
impl StructuralPartialEq for PingUploadTask
Auto Trait Implementations
impl RefUnwindSafe for PingUploadTask
impl Send for PingUploadTask
impl Sync for PingUploadTask
impl Unpin for PingUploadTask
impl UnwindSafe for PingUploadTask
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more