Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1161)

Side by Side Diff: athena/resource_manager/delegate/resource_manager_delegate.cc

Issue 513523002: Adding Baseframework of the ResourceManager (all hooks and observers) are being put in place with a… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Aaaand another rebase Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright 2014 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 "athena/resource_manager/public/resource_manager_delegate.h"
6
7 #include <string>
8
9 #include "base/logging.h"
10 #include "base/macros.h"
11 #include "base/process/process_metrics.h"
12
13 namespace athena {
14
15 namespace {
16 // This is the minimum amount of time in milliseconds between checks for
17 // memory pressure.
18 const int kMemoryPressureIntervalMs = 750;
19 } // namespace
20
21 class ResourceManagerDelegateImpl : public ResourceManagerDelegate {
22 public:
23 ResourceManagerDelegateImpl() {}
24 virtual ~ResourceManagerDelegateImpl() {}
25
26 private:
27 virtual int GetUsedMemoryInPercent() OVERRIDE {
28 base::SystemMemoryInfoKB memory;
29 // TODO(skuhne): According to semenzato this calculation has to change.
30 if (base::GetSystemMemoryInfo(&memory) &&
31 memory.total > 0 && memory.free >= 0) {
32 return ((memory.total - memory.free) * 100) / memory.total;
33 }
34 LOG(WARNING) << "Cannot determine the free memory of the system.";
35 return 0;
36 }
37
38 virtual int MemoryPressureIntervalInMS() OVERRIDE {
39 return kMemoryPressureIntervalMs;
40 }
41 DISALLOW_COPY_AND_ASSIGN(ResourceManagerDelegateImpl);
42 };
43
44 // static
45 ResourceManagerDelegate*
46 ResourceManagerDelegate::CreateResourceManagerDelegate() {
47 return new ResourceManagerDelegateImpl;
48 }
49
50 } // namespace athena
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698