chromium/google_apis/gcm/engine/heartbeat_manager.cc

// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "google_apis/gcm/engine/heartbeat_manager.h"

#include <utility>

#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/location.h"
#include "base/power_monitor/power_monitor.h"
#include "base/task/sequenced_task_runner.h"
#include "base/time/time.h"
#include "base/timer/timer.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "google_apis/gcm/protocol/mcs.pb.h"
#include "net/base/network_change_notifier.h"

namespace gcm {

namespace {
// The default heartbeat when on a mobile or unknown network .
const int kCellHeartbeatDefaultMs =;  // 28 minutes.
// The default heartbeat when on WiFi (also used for ethernet).
const int kWifiHeartbeatDefaultMs =;  // 15 minutes.
// The default heartbeat ack interval.
const int kHeartbeatAckDefaultMs =;  // 1 minute.
// Minimum allowed client default heartbeat interval.
const int kMinClientHeartbeatIntervalMs =;  // 30 seconds.
// Minimum time spent sleeping before we force a new heartbeat.
const int kMinSuspendTimeMs =; // 10 seconds.

#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
// The period at which to check if the heartbeat time has passed. Used to
// protect against platforms where the timer is delayed by the system being
// suspended.  Only needed on linux because the other OSes provide a standard
// way to be notified of system suspend and resume events.
const int kHeartbeatMissedCheckMs =;  // 5 minutes.
#endif  // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)

}  // namespace

HeartbeatManager::HeartbeatManager(
    scoped_refptr<base::SequencedTaskRunner> io_task_runner,
    scoped_refptr<base::SequencedTaskRunner> maybe_power_wrapped_io_task_runner)
    :{}

HeartbeatManager::~HeartbeatManager() {}

void HeartbeatManager::Start(
    const base::RepeatingClosure& send_heartbeat_callback,
    const ReconnectCallback& trigger_reconnect_callback) {}

void HeartbeatManager::Stop() {}

void HeartbeatManager::OnHeartbeatAcked() {}

void HeartbeatManager::UpdateHeartbeatConfig(
    const mcs_proto::HeartbeatConfig& config) {}

base::TimeTicks HeartbeatManager::GetNextHeartbeatTime() const {}

void HeartbeatManager::UpdateHeartbeatTimer(
    std::unique_ptr<base::RetainingOneShotTimer> timer) {}

void HeartbeatManager::OnSuspend() {}

void HeartbeatManager::OnResume() {}

void HeartbeatManager::OnHeartbeatTriggered() {}

void HeartbeatManager::RestartTimer() {}

void HeartbeatManager::CheckForMissedHeartbeat() {}

void HeartbeatManager::UpdateHeartbeatInterval() {}

int HeartbeatManager::GetDefaultHeartbeatInterval() {}

int HeartbeatManager::GetMaxClientHeartbeatIntervalMs() {}

int HeartbeatManager::GetMinClientHeartbeatIntervalMs() {}

void HeartbeatManager::SetClientHeartbeatIntervalMs(int interval_ms) {}

int HeartbeatManager::GetClientHeartbeatIntervalMs() {}

bool HeartbeatManager::HasClientHeartbeatInterval() {}

bool HeartbeatManager::IsValidClientHeartbeatInterval(int interval) {}

void HeartbeatManager::ResetConnection(
    ConnectionFactory::ConnectionResetReason reason) {}

}  // namespace gcm