origin_sdk/protocol/
chunk.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Serialize, Deserialize)]
4pub struct AreChunksInstalled {
5    #[serde(rename = "@ItemId")]
6    pub item_id: String,
7    #[serde(rename = "ChunkIds", default)]
8    pub chunk_ids: Vec<i32>,
9}
10
11#[derive(Debug, Serialize, Deserialize)]
12pub struct AreChunksInstalledResponse {
13    #[serde(rename = "@ItemId")]
14    pub item_id: String,
15    #[serde(rename = "@Installed")]
16    pub installed: bool,
17    #[serde(rename = "ChunkIds", default)]
18    pub chunk_ids: Vec<i32>,
19}
20
21#[derive(Debug, Serialize, Deserialize)]
22pub enum ChunkState {
23    #[serde(rename = "UNKNOWN")]
24    Unknown,
25    #[serde(rename = "PAUSED")]
26    Paused,
27    #[serde(rename = "QUEUED")]
28    Queued,
29    #[serde(rename = "ERROR")]
30    Error,
31    #[serde(rename = "DOWNLOADING")]
32    Downloading,
33    #[serde(rename = "INSTALLING")]
34    Installing,
35    #[serde(rename = "INSTALLED")]
36    Installed,
37    #[serde(rename = "BUSY")]
38    Busy,
39}
40
41#[derive(Debug, Serialize, Deserialize)]
42pub struct ChunkStatus {
43    #[serde(rename = "@ChunkId")]
44    pub chunk_id: i32,
45    #[serde(rename = "@Name")]
46    pub name: String,
47    #[serde(rename = "@ItemId")]
48    pub item_id: String,
49    #[serde(rename = "@Type")]
50    pub r#type: ChunkType,
51    #[serde(rename = "@State")]
52    pub state: ChunkState,
53    #[serde(rename = "@Progress")]
54    pub progress: f32,
55    #[serde(rename = "@Size")]
56    pub size: u64,
57    #[serde(rename = "@ChunkETA")]
58    pub chunk_eta: i32,
59    #[serde(rename = "@TotalETA")]
60    pub total_eta: i32,
61}
62
63#[derive(Debug, Serialize, Deserialize)]
64pub enum ChunkType {
65    #[serde(rename = "UNKNOWN")]
66    Unknown,
67    #[serde(rename = "REQUIRED")]
68    Required,
69    #[serde(rename = "RECOMMENDED")]
70    Recommended,
71    #[serde(rename = "NORMAL")]
72    Normal,
73    #[serde(rename = "ONDEMAND")]
74    Ondemand,
75}
76
77#[derive(Debug, Serialize, Deserialize)]
78pub struct CreateChunk {
79    #[serde(rename = "@ItemId")]
80    pub item_id: String,
81    #[serde(rename = "Files", default)]
82    pub files: Vec<String>,
83}
84
85#[derive(Debug, Serialize, Deserialize)]
86pub struct CreateChunkResponse {
87    #[serde(rename = "@ChunkId")]
88    pub chunk_id: i32,
89}
90
91#[derive(Debug, Serialize, Deserialize)]
92pub struct GetChunkPriority {
93    #[serde(rename = "@ItemId")]
94    pub item_id: String,
95}
96
97#[derive(Debug, Serialize, Deserialize)]
98pub struct GetChunkPriorityResponse {
99    #[serde(rename = "@ItemId")]
100    pub item_id: String,
101    #[serde(rename = "ChunkIds", default)]
102    pub chunk_ids: Vec<i32>,
103}
104
105#[derive(Debug, Serialize, Deserialize)]
106pub struct IsFileDownloaded {
107    #[serde(rename = "@ItemId")]
108    pub item_id: String,
109    #[serde(rename = "@Filepath")]
110    pub filepath: String,
111}
112
113#[derive(Debug, Serialize, Deserialize)]
114pub struct IsFileDownloadedResponse {
115    #[serde(rename = "@ItemId")]
116    pub item_id: String,
117    #[serde(rename = "@Filepath")]
118    pub filepath: String,
119    #[serde(rename = "@Downloaded")]
120    pub downloaded: bool,
121}
122
123#[derive(Debug, Serialize, Deserialize)]
124pub struct IsProgressiveInstallationAvailable {
125    #[serde(rename = "@ItemId")]
126    pub item_id: String,
127}
128
129#[derive(Debug, Serialize, Deserialize)]
130pub struct IsProgressiveInstallationAvailableResponse {
131    #[serde(rename = "@ItemId")]
132    pub item_id: String,
133    #[serde(rename = "@Available")]
134    pub available: bool,
135}
136
137#[derive(Debug, Serialize, Deserialize)]
138pub struct QueryChunkFiles {
139    #[serde(rename = "@ItemId")]
140    pub item_id: String,
141    #[serde(rename = "@ChunkId")]
142    pub chunk_id: i32,
143}
144
145#[derive(Debug, Serialize, Deserialize)]
146pub struct QueryChunkFilesResponse {
147    #[serde(rename = "Files", default)]
148    pub files: Vec<String>,
149}
150
151#[derive(Debug, Serialize, Deserialize)]
152pub struct QueryChunkStatus {
153    #[serde(rename = "@ItemId")]
154    pub item_id: String,
155}
156
157#[derive(Debug, Serialize, Deserialize)]
158pub struct QueryChunkStatusResponse {
159    #[serde(rename = "ChunkStatus", default)]
160    pub chunk_status: Vec<ChunkStatus>,
161}
162
163#[derive(Debug, Serialize, Deserialize)]
164pub struct SetChunkPriority {
165    #[serde(rename = "@ItemId")]
166    pub item_id: String,
167    #[serde(rename = "ChunkIds", default)]
168    pub chunk_ids: Vec<i32>,
169}
170
171#[derive(Debug, Serialize, Deserialize)]
172pub struct SetDownloaderUtilization {
173    #[serde(rename = "@Utilization")]
174    pub utilization: f32,
175}