summary refs log tree commit diff stats
path: root/cache.go
diff options
context:
space:
mode:
authorBen Morrison <ben@gbmor.dev>2019-06-04 18:14:24 -0400
committerBen Morrison <ben@gbmor.dev>2019-06-04 18:20:11 -0400
commitc8fddff33128555a68c6add0f6b457605b1ac121 (patch)
treef218a2f76059ee15493f6a065a3cc85e4c34e106 /cache.go
parent887c25ef0188d8a2ccd811c1d5896d7d71f254df (diff)
downloadgetwtxt-c8fddff33128555a68c6add0f6b457605b1ac121.tar.gz
split caching and db function files
Diffstat (limited to 'cache.go')
-rw-r--r--cache.go129
1 files changed, 0 insertions, 129 deletions
diff --git a/cache.go b/cache.go
index fb32e04..2db0fbb 100644
--- a/cache.go
+++ b/cache.go
@@ -4,13 +4,8 @@ import (
 	"bytes"
 	"io/ioutil"
 	"log"
-	"net"
 	"os"
-	"strings"
 	"time"
-
-	"github.com/getwtxt/registry"
-	"github.com/syndtr/goleveldb/leveldb"
 )
 
 func checkCacheTime() bool {
@@ -21,14 +16,6 @@ func checkCacheTime() bool {
 	return answer
 }
 
-func checkDBtime() bool {
-	confObj.Mu.RLock()
-	answer := time.Since(confObj.LastPush) > confObj.DBInterval
-	confObj.Mu.RUnlock()
-
-	return answer
-}
-
 // Launched by init as a coroutine to watch
 // for the update intervals to pass.
 func cacheAndPush() {
@@ -75,122 +62,6 @@ func refreshCache() {
 	confObj.Mu.Unlock()
 }
 
-func (lvl dbLevel) push() error {
-	twtxtCache.Mu.RLock()
-	var dbBasket = &leveldb.Batch{}
-	for k, v := range twtxtCache.Users {
-		dbBasket.Put([]byte(k+"*Nick"), []byte(v.Nick))
-		dbBasket.Put([]byte(k+"*URL"), []byte(v.URL))
-		dbBasket.Put([]byte(k+"*IP"), []byte(v.IP.String()))
-		dbBasket.Put([]byte(k+"*Date"), []byte(v.Date))
-		for i, e := range v.Status {
-			rfc := i.Format(time.RFC3339)
-			dbBasket.Put([]byte(k+"*Status*"+rfc), []byte(e))
-		}
-	}
-	twtxtCache.Mu.RUnlock()
-
-	remoteRegistries.Mu.RLock()
-	for k, v := range remoteRegistries.List {
-		dbBasket.Put([]byte("remote*"+string(k)), []byte(v))
-	}
-	remoteRegistries.Mu.RUnlock()
-
-	if err := lvl.db.Write(dbBasket, nil); err != nil {
-		return err
-	}
-
-	confObj.Mu.Lock()
-	confObj.LastPush = time.Now()
-	confObj.Mu.Unlock()
-
-	return nil
-}
-
-func (lite dbSqlite) push() error {
-
-	return nil
-}
-
-func (lite dbSqlite) pull() {
-
-}
-
-// Pushes the registry's cache data to a local
-// database for safe keeping.
-func pushDatabase() error {
-	db := <-dbChan
-	dbChan <- db
-
-	return db.push()
-}
-
-func pullDatabase() {
-	db := <-dbChan
-	dbChan <- db
-	db.pull()
-}
-
-func (lvl dbLevel) pull() {
-
-	iter := lvl.db.NewIterator(nil, nil)
-
-	for iter.Next() {
-		key := string(iter.Key())
-		val := string(iter.Value())
-
-		split := strings.Split(key, "*")
-		urls := split[0]
-		field := split[1]
-
-		if urls == "remote" {
-			remoteRegistries.Mu.Lock()
-			remoteRegistries.List = append(remoteRegistries.List, val)
-			remoteRegistries.Mu.Unlock()
-			continue
-		}
-
-		data := registry.NewUser()
-		twtxtCache.Mu.RLock()
-		if _, ok := twtxtCache.Users[urls]; ok {
-			data = twtxtCache.Users[urls]
-		}
-		twtxtCache.Mu.RUnlock()
-
-		switch field {
-		case "IP":
-			data.IP = net.ParseIP(val)
-		case "Nick":
-			data.Nick = val
-		case "URL":
-			data.URL = val
-		case "Date":
-			data.Date = val
-		case "Status":
-			thetime, err := time.Parse(time.RFC3339, split[2])
-			if err != nil {
-				log.Printf("%v\n", err.Error())
-			}
-			data.Status[thetime] = val
-		}
-
-		twtxtCache.Mu.Lock()
-		twtxtCache.Users[urls] = data
-		twtxtCache.Mu.Unlock()
-
-	}
-
-	remoteRegistries.Mu.Lock()
-	remoteRegistries.List = dedupe(remoteRegistries.List)
-	remoteRegistries.Mu.Unlock()
-
-	iter.Release()
-	err := iter.Error()
-	if err != nil {
-		log.Printf("Error while pulling DB into registry cache: %v\n", err.Error())
-	}
-}
-
 // pingAssets checks if the local static assets
 // need to be re-cached. If they do, they are
 // pulled back into memory from disk.