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

Unified Diff: common/api/dm/service/v1/graph_data_purge_timestamps.go

Issue 1537883002: Initial distributor implementation (Closed) Base URL: https://chromium.googlesource.com/external/github.com/luci/luci-go@master
Patch Set: self review Created 4 years, 6 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: common/api/dm/service/v1/graph_data_purge_timestamps.go
diff --git a/common/api/dm/service/v1/graph_data_purge_timestamps.go b/common/api/dm/service/v1/graph_data_purge_timestamps.go
new file mode 100644
index 0000000000000000000000000000000000000000..888ed37162ed3465787b986d4c19b9b84e02d426
--- /dev/null
+++ b/common/api/dm/service/v1/graph_data_purge_timestamps.go
@@ -0,0 +1,90 @@
+// Copyright 2016 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.
+
+package dm
+
+// TimestampPurger is for testing: invoking this on a struct in this package
dnj (Google) 2016/06/09 18:00:57 I assume you have a good reason for this, so just
iannucci 2016/06/15 00:46:02 There's so much parallelism going on that it's not
+// will remove all timestamps from it. This is useful for testing where the
+// timestamps are frequently just noise.
+type TimestampPurger interface {
+ PurgeTimestamps()
+}
+
+// PurgeTimestamps implements TimestampPurger.
+func (g *GraphData) PurgeTimestamps() {
+ if g == nil {
+ return
+ }
+ for _, q := range g.Quests {
+ q.PurgeTimestamps()
+ }
+}
+
+// PurgeTimestamps implements TimestampPurger.
+func (q *Quest) PurgeTimestamps() {
+ if q == nil {
+ return
+ }
+ q.Data.PurgeTimestamps()
+ for _, a := range q.Attempts {
+ a.PurgeTimestamps()
+ }
+}
+
+// PurgeTimestamps implements TimestampPurger.
+func (qd *Quest_Data) PurgeTimestamps() {
+ if qd == nil {
+ return
+ }
+ qd.Created = nil
+}
+
+// PurgeTimestamps implements TimestampPurger.
+func (a *Attempt) PurgeTimestamps() {
+ if a == nil {
+ return
+ }
+ a.Data.PurgeTimestamps()
+
+ for _, e := range a.Executions {
+ e.PurgeTimestamps()
+ }
+}
+
+// PurgeTimestamps implements TimestampPurger.
+func (ad *Attempt_Data) PurgeTimestamps() {
+ if ad == nil {
+ return
+ }
+ ad.Created = nil
+ ad.Modified = nil
+ if p, _ := ad.AttemptType.(TimestampPurger); p != nil {
+ p.PurgeTimestamps()
+ }
+}
+
+// PurgeTimestamps implements TimestampPurger.
+func (f *Attempt_Data_Finished_) PurgeTimestamps() {
+ if f == nil || f.Finished == nil {
+ return
+ }
+ f.Finished.Expiration = nil
+}
+
+// PurgeTimestamps implements TimestampPurger.
+func (e *Execution) PurgeTimestamps() {
+ if e == nil {
+ return
+ }
+ e.Data.PurgeTimestamps()
+}
+
+// PurgeTimestamps implements TimestampPurger.
+func (ed *Execution_Data) PurgeTimestamps() {
+ if ed == nil {
+ return
+ }
+ ed.Created = nil
+ ed.Modified = nil
+}

Powered by Google App Engine
This is Rietveld 408576698