diff options
author | 2025-01-22 12:42:12 +0000 | |
---|---|---|
committer | 2025-01-22 13:42:12 +0100 | |
commit | 0a99901c657909a605a7f1c6a4ede282ba01ce43 (patch) | |
tree | a8b3f1bba879b051db41b18e1707d0c90e315a20 /internal/federation/federatingdb/exists.go | |
parent | [chore]: Bump github.com/coreos/go-oidc/v3 from 3.11.0 to 3.12.0 (#3662) (diff) | |
download | gotosocial-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.go | 10 |
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 } |