cyfs_bdt/ndn/upload/
common.rs1use cyfs_base::*;
2use crate::{
3 types::*
4};
5use super::super::{
6 types::*
7};
8
9#[derive(Clone, Copy)]
10pub enum UploadTaskPriority {
11 Backgroud,
12 Normal,
13 Realtime(u32),
14}
15
16impl Default for UploadTaskPriority {
17 fn default() -> Self {
18 Self::Normal
19 }
20}
21
22
23
24#[async_trait::async_trait]
25pub trait UploadTask: NdnTask {
26 fn clone_as_upload_task(&self) -> Box<dyn UploadTask>;
27
28
29 fn add_task(&self, _path: Option<String>, _sub: Box<dyn UploadTask>) -> BuckyResult<()> {
30 Err(BuckyError::new(BuckyErrorCode::NotSupport, "no implement"))
31 }
32 fn sub_task(&self, _path: &str) -> Option<Box<dyn UploadTask>> {
33 None
34 }
35
36 fn calc_speed(&self, when: Timestamp) -> u32;
37}