summaryrefslogtreecommitdiff
path: root/internal/federation/federatingdb/exists.go
diff options
context:
space:
mode:
authorLibravatar kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com>2025-01-22 12:42:12 +0000
committerLibravatar GitHub <noreply@github.com>2025-01-22 13:42:12 +0100
commit0a99901c657909a605a7f1c6a4ede282ba01ce43 (patch)
treea8b3f1bba879b051db41b18e1707d0c90e315a20 /internal/federation/federatingdb/exists.go
parent[chore]: Bump github.com/coreos/go-oidc/v3 from 3.11.0 to 3.12.0 (#3662) (diff)
downloadgotosocial-0a99901c657909a605a7f1c6a4ede282ba01ce43.tar.xz
[performance] reduce InboxForward->Create calls by partially implementing Exists() (#3647)
* alphabetical reordering * keep a cache of activity IDs we have handled creates for * reduce number of inbox forwarding create calls by partially implementing Exists() * increase cache size, since all we're storing is string keys
Diffstat (limited to 'internal/federation/federatingdb/exists.go')
-rw-r--r--internal/federation/federatingdb/exists.go10
1 files changed, 3 insertions, 7 deletions
diff --git a/internal/federation/federatingdb/exists.go b/internal/federation/federatingdb/exists.go
index abac9960e..ec996f72f 100644
--- a/internal/federation/federatingdb/exists.go
+++ b/internal/federation/federatingdb/exists.go
@@ -22,12 +22,8 @@ import (
"net/url"
)
-// Exists returns true if the database has an entry for the specified
-// id. It may not be owned by this application instance.
-//
-// The library makes this call only after acquiring a lock first.
-//
-// Implementation note: this just straight up isn't implemented, and doesn't *really* need to be either.
+// Exists is an implementation of pub.Database{}.Exists(), optimized specifically for
+// the only usecase in which go-fed/activity/pub actually calls it. Do not use otherwise!
func (f *federatingDB) Exists(ctx context.Context, id *url.URL) (exists bool, err error) {
- return false, nil
+ return f.activityIDs.Has(id.String()), nil
}