chromium/components/sync/protocol/client_commands.proto

// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Sync protocol for communication between sync client and server.

// If you change or add any fields in this file, update proto_visitors.h and
// potentially proto_enum_conversions.{h, cc}.

syntax = "proto2";

option java_multiple_files = true;
option java_package = "org.chromium.components.sync.protocol";

option optimize_for = LITE_RUNTIME;

package sync_pb;

message CustomNudgeDelay {
  optional int32 datatype_id = 1;  // Datatype id.
  optional int32 delay_ms = 2;     // Delay in milliseconds.
}

message ClientCommand {
  // Time to wait before sending any requests to the server.
  optional int32 set_sync_poll_interval = 1;  // in seconds
  // This has been deprecated since M75.
  optional int32 set_sync_long_poll_interval = 2 [deprecated = true];

  optional int32 max_commit_batch_size = 3;

  // Number of seconds to delay before the throttled client should retry.
  optional int32 throttle_delay_seconds = 5;

  // This has been deprecated since M109.
  optional int32 client_invalidation_hint_buffer_size = 6 [deprecated = true];

  // Time to wait before issuing a retry GU.
  optional int32 gu_retry_delay_seconds = 7;

  // A dictionary of custom nudge delays.
  repeated CustomNudgeDelay custom_nudge_delays = 8;

  // Configuration for commit quota of extension-related data types.
  // The maximum count of tokens (=initial at browser startup) and the
  // interval for refilling one more token if not at maximum.
  optional int32 extension_types_max_tokens = 9;
  optional int32 extension_types_refill_interval_seconds = 10;

  // Extended nudge delay for data types with depleted quota.
  optional int32 extension_types_depleted_quota_nudge_delay_seconds = 11;

  reserved 4;
  reserved "sessions_commit_delay_seconds";
}