@@ -67,17 +67,17 @@ type readSeekCloser interface {
6767 io.Closer
6868}
6969
70- type cacheHandler struct {
70+ type cache struct {
7171 cfg Config
7272 logger * Logger
7373 storage s3Client
7474}
7575
76- func newCacheHandler (cfg Config , logger * Logger ) * cacheHandler {
77- return & cacheHandler {cfg : cfg , logger : logger , storage : s3Client {cfg : cfg , logger : logger }}
76+ func newCache (cfg Config , logger * Logger ) * cache {
77+ return & cache {cfg : cfg , logger : logger , storage : s3Client {cfg : cfg , logger : logger }}
7878}
7979
80- func (c * cacheHandler ) handleRequest (rw http.ResponseWriter , req * http.Request ) error {
80+ func (c * cache ) handleRequest (rw http.ResponseWriter , req * http.Request ) error {
8181 urlPath := strings .TrimLeft (req .URL .Path , " /" )
8282
8383 if urlPath == "" || strings .HasSuffix (urlPath , "/" ) {
@@ -135,7 +135,7 @@ func (c *cacheHandler) handleRequest(rw http.ResponseWriter, req *http.Request)
135135 return err
136136}
137137
138- func (c * cacheHandler ) getFileMeta (relPath string ) (* fileMeta , error ) {
138+ func (c * cache ) getFileMeta (relPath string ) (* fileMeta , error ) {
139139 db , err := c .openDB ()
140140 if err != nil {
141141 return nil , err
@@ -155,7 +155,7 @@ func (c *cacheHandler) getFileMeta(relPath string) (*fileMeta, error) {
155155 return & fm , nil
156156}
157157
158- func (c * cacheHandler ) getAndWriteFile (
158+ func (c * cache ) getAndWriteFile (
159159 urlPath string , host Host ,
160160 rw http.ResponseWriter , req * http.Request ) (* fileMeta , error ) {
161161
@@ -180,7 +180,7 @@ func (c *cacheHandler) getAndWriteFile(
180180
181181}
182182
183- func (c * cacheHandler ) getFile (relPath string ) (readSeekCloser , error ) {
183+ func (c * cache ) getFile (relPath string ) (readSeekCloser , error ) {
184184 filename := filepath .Join (c .cfg .CacheDir , filepath .FromSlash (relPath ))
185185 f , err := os .Open (filename )
186186 if err != nil {
@@ -193,7 +193,7 @@ func (c *cacheHandler) getFile(relPath string) (readSeekCloser, error) {
193193}
194194
195195// TODO(bep) transactions
196- func (c * cacheHandler ) doWithDB (f func (db * storm.DB ) error ) error {
196+ func (c * cache ) doWithDB (f func (db * storm.DB ) error ) error {
197197 db , err := c .openDB ()
198198 if err != nil {
199199 return err
@@ -202,26 +202,6 @@ func (c *cacheHandler) doWithDB(f func(db *storm.DB) error) error {
202202 return f (db )
203203}
204204
205- func (c * cacheHandler ) openDB () (* storm.DB , error ) {
206- return storm .Open (c .cfg .DBFilename , storm .BoltOptions (0600 , & bolt.Options {Timeout : 5 * time .Second }))
205+ func (c * cache ) openDB () (* storm.DB , error ) {
206+ return storm .Open (c .cfg .DBFilename , storm .BoltOptions (0600 , & bolt.Options {Timeout : 10 * time .Second }))
207207}
208-
209- // Plans:
210- //
211- // Request file:
212- // If db.File => if os.File => OK
213- // If db.File => if !os.File => delete db.File => stream and save db.File and os.File
214- // If !db.File => stream and save db.File and os.File
215-
216- // On server start:
217- // For each os.File:
218- // If not in db.File => delete os.File
219- // For each db.File:
220- // If not in os.File => delete db.File
221- // Else: Set some in memory size counter.
222-
223- // On free space:
224- // Order by CreatedAt asc
225-
226- // On Garbage Collect:
227- //
0 commit comments