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

Unified Diff: src/platform/update_engine/graph_utils.cc

Issue 578009: AU: Some graph types and a couple utility functions (Closed)
Patch Set: Created 10 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: src/platform/update_engine/graph_utils.cc
diff --git a/src/platform/update_engine/graph_utils.cc b/src/platform/update_engine/graph_utils.cc
new file mode 100644
index 0000000000000000000000000000000000000000..658616768775d687c427f820d737b58822efbeba
--- /dev/null
+++ b/src/platform/update_engine/graph_utils.cc
@@ -0,0 +1,37 @@
+// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "update_engine/graph_utils.h"
+#include "base/basictypes.h"
+
+using std::vector;
+
+namespace chromeos_update_engine {
+
+uint64 EdgeWeight(const Graph& graph, const Edge& edge) {
+ uint64 ret = 0;
Daniel Erat 2010/02/05 17:55:19 s/ret/weight/
adlr 2010/02/22 23:27:31 Done.
+ const vector<Extent>& extents =
+ graph[edge.first].out_edges.find(edge.second)->second.extents;
+ for (vector<Extent>::const_iterator it = extents.begin();
+ it != extents.end(); ++it) {
+ ret += it->num_blocks();
+ }
+ return ret;
+}
+
+void AppendBlockToExtents(uint64 block, vector<Extent>* extents) {
Daniel Erat 2010/02/05 17:55:19 i think that the opposite parameter order is more
adlr 2010/02/22 23:27:31 Done.
+ if (!extents->empty()) {
+ Extent& extent = extents->back();
Daniel Erat 2010/02/05 17:55:19 you're just checking the last extent here. does t
adlr 2010/02/22 23:27:31 no, blocks do not need to be appended in order. I
+ if (extent.start_block() + extent.num_blocks() == block) {
+ extent.set_num_blocks(extent.num_blocks() + 1);
+ return;
+ }
+ }
+ Extent new_extent;
+ new_extent.set_start_block(block);
+ new_extent.set_num_blocks(1);
+ extents->push_back(new_extent);
+}
+
+} // namespace chromeos_update_engine

Powered by Google App Engine
This is Rietveld 408576698