File: upload_tracker.proto

package info (click to toggle)
chromium 138.0.7204.183-1~deb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-proposed-updates
  • size: 6,080,960 kB
  • sloc: cpp: 34,937,079; ansic: 7,176,967; javascript: 4,110,704; python: 1,419,954; asm: 946,768; xml: 739,971; pascal: 187,324; sh: 89,623; perl: 88,663; objc: 79,944; sql: 50,304; cs: 41,786; fortran: 24,137; makefile: 21,811; php: 13,980; tcl: 13,166; yacc: 8,925; ruby: 7,485; awk: 3,720; lisp: 3,096; lex: 1,327; ada: 727; jsp: 228; sed: 36
file content (66 lines) | stat: -rw-r--r-- 2,912 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

syntax = "proto2";

package reporting;

option optimize_for = LITE_RUNTIME;

// Used for annotating sensitive fields in google3.
// ${COPYBARA_DATAPOL_IMPORT}

import "components/reporting/proto/synced/status.proto";

// Message populated by the caller when posting the log upload request
// initially and sent to the server as part of `Record`.
message UploadSettings {
  // Path to the log on a device, e.g. “/var/cache/L.zip”
  optional string origin_path = 1;  // required

  // Number of remaining retries. Must be non-negative, 0 means last retry.
  // Upon retryable error, decremented by ERP for the next attempt.
  optional int32 retry_count = 2 [default = 3];

  // Upload parameters, depending on the actual protocol
  // (e.g., REST API URL, GCS bucket assigned for the log to be uploaded to).
  // This field is implementation-dependent; having it generic allows to choose
  // the actual upload protocol and/or unit test the whole process.
  optional string upload_parameters = 3;  // required
}

// Message populated by ERP, used for upload progress tracking and sent to the
// server as part of `Record`.
message UploadTracker {
  // Completion status error (matches .reporting.StatusProto).
  // Skipped in case of success or work in progress, error status (code and
  // error message) for any failure.
  optional StatusProto status = 1;

  // Total size of the `origin_path` file to upload.
  optional int64 total = 2;  // required

  // Current offset that upload process has reached. As long as
  // `uploaded` < `total`, the upload is in progress, and the event can be
  // ignored on the server side (or can be used by UX to visualize progress -
  // slide to `uploaded` / `total` * 100%). Receiving event with
  // `uploaded` = `total` indicates to the server that the upload is done, and
  // `file_path` field can be used to access it.
  optional int64 uploaded = 3;  // required, once the upload has started.

  // Upload session token that allows the upload to proceed with the next chunk
  // of data, starting from `uploaded` offset in `origin_path` file and to
  // finalize the upload at the end (after that, this field should be cleared).
  // This field is implementation-dependent; having it generic allows to choose
  // the actual upload protocol and/or unit test the whole process.
  optional string session_token = 4
      // copybara:datapol_begin
      // [(datapol.semantic_type) = ST_ACCOUNT_CREDENTIAL]
      // copybara:datapol_end
      ;  // required, while upload is in progress.

  // URL and optionally other parameters to access the uploaded file from the
  // server side. Populated once the upload has been finalized successfully.
  optional string access_parameters = 5;  // required upon successful upload.
}