summaryrefslogtreecommitdiff
path: root/internal/db/bundb/tombstone.go
diff options
context:
space:
mode:
authorLibravatar kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com>2022-12-08 17:35:14 +0000
committerLibravatar GitHub <noreply@github.com>2022-12-08 18:35:14 +0100
commite58d2d81226c4cc4110747305d083b67903d621c (patch)
tree249f8b3f4732ccdb1e77b2d4243fafb4ee4c1c86 /internal/db/bundb/tombstone.go
parent[chore] Remove deprecated linters (#1228) (diff)
downloadgotosocial-e58d2d81226c4cc4110747305d083b67903d621c.tar.xz
[chore] move caches to a separate State{} structure (#1078)
* move caches to a separate State{} structure Signed-off-by: kim <grufwub@gmail.com> * fix call to log.Panic not using formatted call Signed-off-by: kim <grufwub@gmail.com> * move caches to use interfaces, to make switchouts easier in future Signed-off-by: kim <grufwub@gmail.com> * fix rebase issue Signed-off-by: kim <grufwub@gmail.com> * improve code comment Signed-off-by: kim <grufwub@gmail.com> * fix further issues after rebase Signed-off-by: kim <grufwub@gmail.com> * heh Signed-off-by: kim <grufwub@gmail.com> * add missing license text Signed-off-by: kim <grufwub@gmail.com> Signed-off-by: kim <grufwub@gmail.com>
Diffstat (limited to 'internal/db/bundb/tombstone.go')
-rw-r--r--internal/db/bundb/tombstone.go28
1 files changed, 5 insertions, 23 deletions
diff --git a/internal/db/bundb/tombstone.go b/internal/db/bundb/tombstone.go
index 309a39fd3..64c0a4508 100644
--- a/internal/db/bundb/tombstone.go
+++ b/internal/db/bundb/tombstone.go
@@ -20,38 +20,20 @@ package bundb
import (
"context"
- "time"
"github.com/superseriousbusiness/gotosocial/internal/db"
"github.com/superseriousbusiness/gotosocial/internal/gtsmodel"
+ "github.com/superseriousbusiness/gotosocial/internal/state"
"github.com/uptrace/bun"
-
- "codeberg.org/gruf/go-cache/v3/result"
)
type tombstoneDB struct {
conn *DBConn
- cache *result.Cache[*gtsmodel.Tombstone]
-}
-
-func (t *tombstoneDB) init() {
- // Initialize tombstone result cache
- t.cache = result.NewSized([]result.Lookup{
- {Name: "ID"},
- {Name: "URI"},
- }, func(t1 *gtsmodel.Tombstone) *gtsmodel.Tombstone {
- t2 := new(gtsmodel.Tombstone)
- *t2 = *t1
- return t2
- }, 100)
-
- // Set cache TTL and start sweep routine
- t.cache.SetTTL(time.Minute*5, false)
- t.cache.Start(time.Second * 10)
+ state *state.State
}
func (t *tombstoneDB) GetTombstoneByURI(ctx context.Context, uri string) (*gtsmodel.Tombstone, db.Error) {
- return t.cache.Load("URI", func() (*gtsmodel.Tombstone, error) {
+ return t.state.Caches.GTS.Tombstone().Load("URI", func() (*gtsmodel.Tombstone, error) {
var tomb gtsmodel.Tombstone
q := t.conn.
@@ -76,7 +58,7 @@ func (t *tombstoneDB) TombstoneExistsWithURI(ctx context.Context, uri string) (b
}
func (t *tombstoneDB) PutTombstone(ctx context.Context, tombstone *gtsmodel.Tombstone) db.Error {
- return t.cache.Store(tombstone, func() error {
+ return t.state.Caches.GTS.Tombstone().Store(tombstone, func() error {
_, err := t.conn.
NewInsert().
Model(tombstone).
@@ -95,7 +77,7 @@ func (t *tombstoneDB) DeleteTombstone(ctx context.Context, id string) db.Error {
}
// Invalidate from cache by ID
- t.cache.Invalidate("ID", id)
+ t.state.Caches.GTS.Tombstone().Invalidate("ID", id)
return nil
}