mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-20 13:23:22 -06:00
Add caching wrapper in BaseComponent
This commit is contained in:
parent
64401efa20
commit
caccbabe75
|
|
@ -33,7 +33,7 @@ func main() {
|
||||||
deviceDB := base.CreateDeviceDB()
|
deviceDB := base.CreateDeviceDB()
|
||||||
keyDB := base.CreateKeyDB()
|
keyDB := base.CreateKeyDB()
|
||||||
federation := base.CreateFederationClient()
|
federation := base.CreateFederationClient()
|
||||||
keyRing := keydb.CreateKeyRing(federation.Client, keyDB, base.ImmutableCache, cfg.Matrix.KeyPerspectives)
|
keyRing := keydb.CreateKeyRing(federation.Client, keyDB, cfg.Matrix.KeyPerspectives)
|
||||||
|
|
||||||
asQuery := base.CreateHTTPAppServiceAPIs()
|
asQuery := base.CreateHTTPAppServiceAPIs()
|
||||||
rsAPI := base.CreateHTTPRoomserverAPIs()
|
rsAPI := base.CreateHTTPRoomserverAPIs()
|
||||||
|
|
|
||||||
|
|
@ -148,7 +148,7 @@ func main() {
|
||||||
keyDB := createKeyDB(base)
|
keyDB := createKeyDB(base)
|
||||||
federation := createFederationClient(base)
|
federation := createFederationClient(base)
|
||||||
// TODO: cache here
|
// TODO: cache here
|
||||||
keyRing := keydb.CreateKeyRing(federation.Client, keyDB, nil, cfg.Matrix.KeyPerspectives)
|
keyRing := keydb.CreateKeyRing(federation.Client, keyDB, cfg.Matrix.KeyPerspectives)
|
||||||
|
|
||||||
rsAPI := roomserver.SetupRoomServerComponent(
|
rsAPI := roomserver.SetupRoomServerComponent(
|
||||||
&base.Base, keyRing, federation,
|
&base.Base, keyRing, federation,
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ func main() {
|
||||||
keyDB := base.CreateKeyDB()
|
keyDB := base.CreateKeyDB()
|
||||||
federation := base.CreateFederationClient()
|
federation := base.CreateFederationClient()
|
||||||
fsAPI := base.CreateHTTPFederationSenderAPIs()
|
fsAPI := base.CreateHTTPFederationSenderAPIs()
|
||||||
keyRing := keydb.CreateKeyRing(federation.Client, keyDB, base.ImmutableCache, cfg.Matrix.KeyPerspectives)
|
keyRing := keydb.CreateKeyRing(federation.Client, keyDB, cfg.Matrix.KeyPerspectives)
|
||||||
|
|
||||||
rsAPI := base.CreateHTTPRoomserverAPIs()
|
rsAPI := base.CreateHTTPRoomserverAPIs()
|
||||||
asAPI := base.CreateHTTPAppServiceAPIs()
|
asAPI := base.CreateHTTPAppServiceAPIs()
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ func main() {
|
||||||
|
|
||||||
federation := base.CreateFederationClient()
|
federation := base.CreateFederationClient()
|
||||||
keyDB := base.CreateKeyDB()
|
keyDB := base.CreateKeyDB()
|
||||||
keyRing := keydb.CreateKeyRing(federation.Client, keyDB, base.ImmutableCache, cfg.Matrix.KeyPerspectives)
|
keyRing := keydb.CreateKeyRing(federation.Client, keyDB, cfg.Matrix.KeyPerspectives)
|
||||||
rsAPI := base.CreateHTTPRoomserverAPIs()
|
rsAPI := base.CreateHTTPRoomserverAPIs()
|
||||||
fsAPI := federationsender.SetupFederationSenderComponent(
|
fsAPI := federationsender.SetupFederationSenderComponent(
|
||||||
base, federation, rsAPI, &keyRing,
|
base, federation, rsAPI, &keyRing,
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,7 @@ func main() {
|
||||||
deviceDB := base.CreateDeviceDB()
|
deviceDB := base.CreateDeviceDB()
|
||||||
keyDB := base.CreateKeyDB()
|
keyDB := base.CreateKeyDB()
|
||||||
federation := base.CreateFederationClient()
|
federation := base.CreateFederationClient()
|
||||||
keyRing := keydb.CreateKeyRing(federation.Client, keyDB, base.ImmutableCache, cfg.Matrix.KeyPerspectives)
|
keyRing := keydb.CreateKeyRing(federation.Client, keyDB, cfg.Matrix.KeyPerspectives)
|
||||||
|
|
||||||
rsAPI := roomserver.SetupRoomServerComponent(
|
rsAPI := roomserver.SetupRoomServerComponent(
|
||||||
base, keyRing, federation,
|
base, keyRing, federation,
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ func main() {
|
||||||
defer base.Close() // nolint: errcheck
|
defer base.Close() // nolint: errcheck
|
||||||
keyDB := base.CreateKeyDB()
|
keyDB := base.CreateKeyDB()
|
||||||
federation := base.CreateFederationClient()
|
federation := base.CreateFederationClient()
|
||||||
keyRing := keydb.CreateKeyRing(federation.Client, keyDB, base.ImmutableCache, cfg.Matrix.KeyPerspectives)
|
keyRing := keydb.CreateKeyRing(federation.Client, keyDB, cfg.Matrix.KeyPerspectives)
|
||||||
|
|
||||||
fsAPI := base.CreateHTTPFederationSenderAPIs()
|
fsAPI := base.CreateHTTPFederationSenderAPIs()
|
||||||
rsAPI := roomserver.SetupRoomServerComponent(base, keyRing, federation)
|
rsAPI := roomserver.SetupRoomServerComponent(base, keyRing, federation)
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@ import (
|
||||||
|
|
||||||
"github.com/matrix-org/dendrite/common/caching"
|
"github.com/matrix-org/dendrite/common/caching"
|
||||||
"github.com/matrix-org/dendrite/common/keydb"
|
"github.com/matrix-org/dendrite/common/keydb"
|
||||||
|
"github.com/matrix-org/dendrite/common/keydb/cache"
|
||||||
"github.com/matrix-org/dendrite/internal/sqlutil"
|
"github.com/matrix-org/dendrite/internal/sqlutil"
|
||||||
"github.com/matrix-org/gomatrixserverlib"
|
"github.com/matrix-org/gomatrixserverlib"
|
||||||
"github.com/matrix-org/naffka"
|
"github.com/matrix-org/naffka"
|
||||||
|
|
@ -186,7 +187,11 @@ func (b *BaseDendrite) CreateKeyDB() keydb.Database {
|
||||||
logrus.WithError(err).Panicf("failed to connect to keys db")
|
logrus.WithError(err).Panicf("failed to connect to keys db")
|
||||||
}
|
}
|
||||||
|
|
||||||
return db
|
cachedDB, err := cache.NewDatabase(db, b.ImmutableCache)
|
||||||
|
if err != nil {
|
||||||
|
logrus.WithError(err).Panicf("failed to create key cache wrapper")
|
||||||
|
}
|
||||||
|
return cachedDB
|
||||||
}
|
}
|
||||||
|
|
||||||
// CreateFederationClient creates a new federation client. Should only be called
|
// CreateFederationClient creates a new federation client. Should only be called
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,6 @@ package keydb
|
||||||
import (
|
import (
|
||||||
"encoding/base64"
|
"encoding/base64"
|
||||||
|
|
||||||
"github.com/matrix-org/dendrite/common/caching"
|
|
||||||
"github.com/matrix-org/dendrite/common/config"
|
"github.com/matrix-org/dendrite/common/config"
|
||||||
"github.com/matrix-org/gomatrixserverlib"
|
"github.com/matrix-org/gomatrixserverlib"
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
|
|
@ -30,7 +29,6 @@ import (
|
||||||
// backed by the given KeyDatabase.
|
// backed by the given KeyDatabase.
|
||||||
func CreateKeyRing(client gomatrixserverlib.Client,
|
func CreateKeyRing(client gomatrixserverlib.Client,
|
||||||
keyDB gomatrixserverlib.KeyDatabase,
|
keyDB gomatrixserverlib.KeyDatabase,
|
||||||
cache caching.ImmutableCache,
|
|
||||||
cfg config.KeyPerspectives) gomatrixserverlib.KeyRing {
|
cfg config.KeyPerspectives) gomatrixserverlib.KeyRing {
|
||||||
|
|
||||||
fetchers := gomatrixserverlib.KeyRing{
|
fetchers := gomatrixserverlib.KeyRing{
|
||||||
|
|
@ -40,7 +38,6 @@ func CreateKeyRing(client gomatrixserverlib.Client,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
KeyDatabase: keyDB,
|
KeyDatabase: keyDB,
|
||||||
KeyCache: cache,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
logrus.Info("Enabled direct key fetcher")
|
logrus.Info("Enabled direct key fetcher")
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue