1// Copyright (c) 2010 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "base/lazy_instance.h" 6#include "net/base/bandwidth_metrics.h" 7 8static base::LazyInstance<net::BandwidthMetrics> g_bandwidth_metrics( 9 base::LINKER_INITIALIZED); 10 11namespace net { 12 13ScopedBandwidthMetrics::ScopedBandwidthMetrics() 14 : started_(false) { 15} 16 17ScopedBandwidthMetrics::~ScopedBandwidthMetrics() { 18 if (started_) 19 g_bandwidth_metrics.Get().StopStream(); 20} 21 22void ScopedBandwidthMetrics::StartStream() { 23 started_ = true; 24 g_bandwidth_metrics.Get().StartStream(); 25} 26 27void ScopedBandwidthMetrics::StopStream() { 28 started_ = false; 29 g_bandwidth_metrics.Get().StopStream(); 30} 31 32void ScopedBandwidthMetrics::RecordBytes(int bytes) { 33 g_bandwidth_metrics.Get().RecordBytes(bytes); 34} 35 36} // namespace net 37