chromium/content/browser/background_sync/background_sync.proto

// Copyright 2015 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";

option optimize_for = LITE_RUNTIME;

package content;

enum SyncNetworkState {
  NETWORK_STATE_ANY = 0;
  NETWORK_STATE_AVOID_CELLULAR = 1;
  NETWORK_STATE_ONLINE = 2;
}

message PeriodicSyncOptions {
  optional int64 min_interval = 1;
}

message BackgroundSyncRegistrationProto {
  // required int64 id = 1;
  required string tag = 2;
  // required SyncPeriodicity periodicity = 3;
  // required int64 min_period = 4;
  // required SyncNetworkState network_state = 5;
  // required SyncPowerState power_state = 6;
  required int32 num_attempts = 7;
  required int64 delay_until = 8;
  optional PeriodicSyncOptions periodic_sync_options = 9;
  optional int32 max_attempts = 10;
}

message BackgroundSyncRegistrationsProto {
  repeated BackgroundSyncRegistrationProto registration = 1;
  // required int64 next_registration_id = 2;
  required string origin = 3;
}