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

Side by Side Diff: filter/dscache/dscache.go

Issue 1355783002: Refactor keys and queries in datastore service and implementation. (Closed) Base URL: https://github.com/luci/gae.git@master
Patch Set: Created 5 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package dscache 5 package dscache
6 6
7 import ( 7 import (
8 "bytes" 8 "bytes"
9 "crypto/sha1" 9 "crypto/sha1"
10 "encoding/base64" 10 "encoding/base64"
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 // FlagValue is used to indicate if a memcache entry currently contains an 94 // FlagValue is used to indicate if a memcache entry currently contains an
95 // item or a lock. 95 // item or a lock.
96 type FlagValue uint32 96 type FlagValue uint32
97 97
98 const ( 98 const (
99 ItemUKNONWN FlagValue = iota 99 ItemUKNONWN FlagValue = iota
100 ItemHasData 100 ItemHasData
101 ItemHasLock 101 ItemHasLock
102 ) 102 )
103 103
104 func MakeMemcacheKey(shard int, k datastore.Key) string { 104 func MakeMemcacheKey(shard int, k *datastore.Key) string {
105 return fmt.Sprintf(KeyFormat, shard, HashKey(k)) 105 return fmt.Sprintf(KeyFormat, shard, HashKey(k))
106 } 106 }
107 107
108 func HashKey(k datastore.Key) string { 108 func HashKey(k *datastore.Key) string {
109 dgst := sha1.Sum(serialize.ToBytes(k)) 109 dgst := sha1.Sum(serialize.ToBytes(k))
110 buf := bytes.Buffer{} 110 buf := bytes.Buffer{}
111 enc := base64.NewEncoder(base64.StdEncoding, &buf) 111 enc := base64.NewEncoder(base64.StdEncoding, &buf)
112 _, _ = enc.Write(dgst[:]) 112 _, _ = enc.Write(dgst[:])
113 enc.Close() 113 enc.Close()
114 return buf.String()[:buf.Len()-Sha1B64Padding] 114 return buf.String()[:buf.Len()-Sha1B64Padding]
115 } 115 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698