mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-20 21:33:19 -06:00
Re-enable caching on server key API component
This commit is contained in:
parent
14565ec4a4
commit
9b783f9b49
|
|
@ -7,6 +7,7 @@ import (
|
||||||
"github.com/matrix-org/dendrite/common/basecomponent"
|
"github.com/matrix-org/dendrite/common/basecomponent"
|
||||||
"github.com/matrix-org/dendrite/serverkeyapi/internal"
|
"github.com/matrix-org/dendrite/serverkeyapi/internal"
|
||||||
"github.com/matrix-org/dendrite/serverkeyapi/storage"
|
"github.com/matrix-org/dendrite/serverkeyapi/storage"
|
||||||
|
"github.com/matrix-org/dendrite/serverkeyapi/storage/cache"
|
||||||
"github.com/matrix-org/gomatrixserverlib"
|
"github.com/matrix-org/gomatrixserverlib"
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
)
|
)
|
||||||
|
|
@ -15,7 +16,7 @@ func SetupServerKeyAPIComponent(
|
||||||
base *basecomponent.BaseDendrite,
|
base *basecomponent.BaseDendrite,
|
||||||
fedClient *gomatrixserverlib.FederationClient,
|
fedClient *gomatrixserverlib.FederationClient,
|
||||||
) *internal.ServerKeyAPI {
|
) *internal.ServerKeyAPI {
|
||||||
serverKeyDB, err := storage.NewDatabase(
|
innerDB, err := storage.NewDatabase(
|
||||||
string(base.Cfg.Database.ServerKey),
|
string(base.Cfg.Database.ServerKey),
|
||||||
base.Cfg.DbProperties(),
|
base.Cfg.DbProperties(),
|
||||||
base.Cfg.Matrix.ServerName,
|
base.Cfg.Matrix.ServerName,
|
||||||
|
|
@ -23,7 +24,12 @@ func SetupServerKeyAPIComponent(
|
||||||
base.Cfg.Matrix.KeyID,
|
base.Cfg.Matrix.KeyID,
|
||||||
)
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.WithError(err).Panicf("failed to connect to room server db")
|
logrus.WithError(err).Panicf("failed to connect to server key database")
|
||||||
|
}
|
||||||
|
|
||||||
|
serverKeyDB, err := cache.NewKeyDatabase(innerDB, base.ImmutableCache)
|
||||||
|
if err != nil {
|
||||||
|
logrus.WithError(err).Panicf("failed to set up caching wrapper for server key database")
|
||||||
}
|
}
|
||||||
|
|
||||||
internalAPI := internal.ServerKeyAPI{
|
internalAPI := internal.ServerKeyAPI{
|
||||||
|
|
|
||||||
5
serverkeyapi/storage/cache/keydb.go
vendored
5
serverkeyapi/storage/cache/keydb.go
vendored
|
|
@ -5,18 +5,17 @@ import (
|
||||||
"errors"
|
"errors"
|
||||||
|
|
||||||
"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/gomatrixserverlib"
|
"github.com/matrix-org/gomatrixserverlib"
|
||||||
)
|
)
|
||||||
|
|
||||||
// A Database implements gomatrixserverlib.KeyDatabase and is used to store
|
// A Database implements gomatrixserverlib.KeyDatabase and is used to store
|
||||||
// the public keys for other matrix servers.
|
// the public keys for other matrix servers.
|
||||||
type KeyDatabase struct {
|
type KeyDatabase struct {
|
||||||
inner keydb.Database
|
inner gomatrixserverlib.KeyDatabase
|
||||||
cache caching.ImmutableCache
|
cache caching.ImmutableCache
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewKeyDatabase(inner keydb.Database, cache caching.ImmutableCache) (*KeyDatabase, error) {
|
func NewKeyDatabase(inner gomatrixserverlib.KeyDatabase, cache caching.ImmutableCache) (*KeyDatabase, error) {
|
||||||
if inner == nil {
|
if inner == nil {
|
||||||
return nil, errors.New("inner database can't be nil")
|
return nil, errors.New("inner database can't be nil")
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue