| OLD | NEW |
| 1 // Copyright 2015 The LUCI Authors. All rights reserved. | 1 // Copyright 2015 The LUCI Authors. All rights reserved. |
| 2 // Use of this source code is governed under the Apache License, Version 2.0 | 2 // Use of this source code is governed under the Apache License, Version 2.0 |
| 3 // that can be found in the LICENSE file. | 3 // that can be 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 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 76 ValueSizeLimit = (1000 * 1000) - InternalGAEPadding - MaxShardsLen | 76 ValueSizeLimit = (1000 * 1000) - InternalGAEPadding - MaxShardsLen |
| 77 | 77 |
| 78 // CacheEnableMeta is the gae metadata key name for whether or not dscac
he | 78 // CacheEnableMeta is the gae metadata key name for whether or not dscac
he |
| 79 // is enabled for an entity type at all. | 79 // is enabled for an entity type at all. |
| 80 CacheEnableMeta = "dscache.enable" | 80 CacheEnableMeta = "dscache.enable" |
| 81 | 81 |
| 82 // CacheExpirationMeta is the gae metadata key name for the default | 82 // CacheExpirationMeta is the gae metadata key name for the default |
| 83 // expiration time (in seconds) for an entity type. | 83 // expiration time (in seconds) for an entity type. |
| 84 CacheExpirationMeta = "dscache.expiration" | 84 CacheExpirationMeta = "dscache.expiration" |
| 85 | 85 |
| 86 » // NonceUint32s is the number of 32 bit uints to use in the 'lock' nonce
. | 86 » // NonceBytes is the number of bytes to use in the 'lock' nonce. |
| 87 » NonceUint32s = 2 | 87 » NonceBytes = 8 |
| 88 | 88 |
| 89 // GlobalEnabledCheckInterval is how frequently IsGloballyEnabled should
check | 89 // GlobalEnabledCheckInterval is how frequently IsGloballyEnabled should
check |
| 90 // the globalEnabled datastore entry. | 90 // the globalEnabled datastore entry. |
| 91 GlobalEnabledCheckInterval = 5 * time.Minute | 91 GlobalEnabledCheckInterval = 5 * time.Minute |
| 92 ) | 92 ) |
| 93 | 93 |
| 94 // internalValueSizeLimit is a var for testing purposes. | 94 // internalValueSizeLimit is a var for testing purposes. |
| 95 var internalValueSizeLimit = ValueSizeLimit | 95 var internalValueSizeLimit = ValueSizeLimit |
| 96 | 96 |
| 97 // CompressionType is the type of compression a single memcache entry has. | 97 // CompressionType is the type of compression a single memcache entry has. |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 134 | 134 |
| 135 // HashKey generates just the hashed portion of the MemcacheKey. | 135 // HashKey generates just the hashed portion of the MemcacheKey. |
| 136 func HashKey(k *datastore.Key) string { | 136 func HashKey(k *datastore.Key) string { |
| 137 dgst := sha1.Sum(serialize.ToBytes(k)) | 137 dgst := sha1.Sum(serialize.ToBytes(k)) |
| 138 buf := bytes.Buffer{} | 138 buf := bytes.Buffer{} |
| 139 enc := base64.NewEncoder(base64.StdEncoding, &buf) | 139 enc := base64.NewEncoder(base64.StdEncoding, &buf) |
| 140 _, _ = enc.Write(dgst[:]) | 140 _, _ = enc.Write(dgst[:]) |
| 141 enc.Close() | 141 enc.Close() |
| 142 return buf.String()[:buf.Len()-Sha1B64Padding] | 142 return buf.String()[:buf.Len()-Sha1B64Padding] |
| 143 } | 143 } |
| OLD | NEW |