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

Side by Side Diff: perf/go/filetilestore/filestore.go

Issue 777413002: Add new tests to presubmit, fix errors (Closed) Base URL: https://skia.googlesource.com/buildbot@master
Patch Set: rebase Created 6 years 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
« no previous file with comments | « perf/go/alerting/alerting.go ('k') | perf/go/ingest/main.go » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 package filetilestore 1 package filetilestore
2 2
3 import ( 3 import (
4 "encoding/gob" 4 "encoding/gob"
5 "fmt" 5 "fmt"
6 "io/ioutil" 6 "io/ioutil"
7 "os" 7 "os"
8 "path" 8 "path"
9 "path/filepath" 9 "path/filepath"
10 "sort" 10 "sort"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 52
53 // Cache for recently used tiles. 53 // Cache for recently used tiles.
54 cache *lru.Cache 54 cache *lru.Cache
55 55
56 // Mutex for ensuring safe access to the cache and lastTile. 56 // Mutex for ensuring safe access to the cache and lastTile.
57 lock sync.Mutex 57 lock sync.Mutex
58 } 58 }
59 59
60 // tileFilename creates the filename for the given tile scale and index for the 60 // tileFilename creates the filename for the given tile scale and index for the
61 // given FileTileStore. 61 // given FileTileStore.
62 func (store FileTileStore) tileFilename(scale, index int) (string, error) { 62 func (store *FileTileStore) tileFilename(scale, index int) (string, error) {
63 if scale < 0 || index < 0 { 63 if scale < 0 || index < 0 {
64 return "", fmt.Errorf("Scale %d and Index %d must both be >= 0", scale, index) 64 return "", fmt.Errorf("Scale %d and Index %d must both be >= 0", scale, index)
65 } 65 }
66 return path.Join(store.dir, store.datasetName, fmt.Sprintf("%d/%04d.gob" , scale, index)), nil 66 return path.Join(store.dir, store.datasetName, fmt.Sprintf("%d/%04d.gob" , scale, index)), nil
67 } 67 }
68 68
69 // fileTileTemp creates a unique temporary filename for the given tile scale and 69 // fileTileTemp creates a unique temporary filename for the given tile scale and
70 // index for the given FileTileStore. Used during Put() so that writes update 70 // index for the given FileTileStore. Used during Put() so that writes update
71 // atomically. 71 // atomically.
72 func (store FileTileStore) fileTileTemp(scale, index int) (*os.File, error) { 72 func (store *FileTileStore) fileTileTemp(scale, index int) (*os.File, error) {
73 if scale < 0 || index < 0 { 73 if scale < 0 || index < 0 {
74 return nil, fmt.Errorf("Scale %d and Index %d must both be >= 0" , scale, index) 74 return nil, fmt.Errorf("Scale %d and Index %d must both be >= 0" , scale, index)
75 } 75 }
76 dir := path.Join(store.dir, TEMP_TILE_DIR_NAME) 76 dir := path.Join(store.dir, TEMP_TILE_DIR_NAME)
77 if err := os.MkdirAll(dir, 0755); err != nil { 77 if err := os.MkdirAll(dir, 0755); err != nil {
78 return nil, fmt.Errorf("Error creating directory for temp tile % s: %s", dir, err) 78 return nil, fmt.Errorf("Error creating directory for temp tile % s: %s", dir, err)
79 } 79 }
80 return ioutil.TempFile(dir, fmt.Sprintf("%d-%04d-gob-", scale, index)) 80 return ioutil.TempFile(dir, fmt.Sprintf("%d-%04d-gob-", scale, index))
81 } 81 }
82 82
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 328
329 // Refresh the lastTile entries periodically. 329 // Refresh the lastTile entries periodically.
330 go func() { 330 go func() {
331 for _ = range time.Tick(checkEvery) { 331 for _ = range time.Tick(checkEvery) {
332 store.refreshLastTiles() 332 store.refreshLastTiles()
333 } 333 }
334 }() 334 }()
335 } 335 }
336 return store 336 return store
337 } 337 }
OLDNEW
« no previous file with comments | « perf/go/alerting/alerting.go ('k') | perf/go/ingest/main.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698