chromium/chrome/browser/push_messaging/budget.proto

// Copyright 2016 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 budget_service;

// Chrome requires this.
option optimize_for = LITE_RUNTIME;

// Next available id: 3
message Budget {
  // The sequence of budget chunks and their expiration times.
  repeated BudgetChunk budget = 1;

  // The timestamp of the last time that new engagement budget was awarded.
  // This stores the internal value needed to construct a base::Time object.
  optional int64 engagement_last_updated = 2;
}

// Next available id: 3
message BudgetChunk {
  // The amount of budget remaining in this chunk.
  optional double amount = 1;

  // The timestamp when the budget expires. This stores the internal value
  // needed to construct a base::Time object.
  optional int64 expiration = 2;
}