Review comments

This commit is contained in:
Neil Alexander 2020-05-15 09:30:07 +01:00
parent caccbabe75
commit fbfb59baf1
3 changed files with 7 additions and 8 deletions

View file

@ -147,7 +147,6 @@ func main() {
deviceDB := base.Base.CreateDeviceDB() deviceDB := base.Base.CreateDeviceDB()
keyDB := createKeyDB(base) keyDB := createKeyDB(base)
federation := createFederationClient(base) federation := createFederationClient(base)
// TODO: cache here
keyRing := keydb.CreateKeyRing(federation.Client, keyDB, cfg.Matrix.KeyPerspectives) keyRing := keydb.CreateKeyRing(federation.Client, keyDB, cfg.Matrix.KeyPerspectives)
rsAPI := roomserver.SetupRoomServerComponent( rsAPI := roomserver.SetupRoomServerComponent(

View file

@ -187,7 +187,7 @@ 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")
} }
cachedDB, err := cache.NewDatabase(db, b.ImmutableCache) cachedDB, err := cache.NewKeyDatabase(db, b.ImmutableCache)
if err != nil { if err != nil {
logrus.WithError(err).Panicf("failed to create key cache wrapper") logrus.WithError(err).Panicf("failed to create key cache wrapper")
} }

View file

@ -11,31 +11,31 @@ import (
// 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 Database struct { type KeyDatabase struct {
inner keydb.Database inner keydb.Database
cache caching.ImmutableCache cache caching.ImmutableCache
} }
func NewDatabase(inner keydb.Database, cache caching.ImmutableCache) (*Database, error) { func NewKeyDatabase(inner keydb.Database, 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")
} }
if cache == nil { if cache == nil {
return nil, errors.New("cache can't be nil") return nil, errors.New("cache can't be nil")
} }
return &Database{ return &KeyDatabase{
inner: inner, inner: inner,
cache: cache, cache: cache,
}, nil }, nil
} }
// FetcherName implements KeyFetcher // FetcherName implements KeyFetcher
func (d Database) FetcherName() string { func (d KeyDatabase) FetcherName() string {
return "InMemoryKeyCache" return "InMemoryKeyCache"
} }
// FetchKeys implements gomatrixserverlib.KeyDatabase // FetchKeys implements gomatrixserverlib.KeyDatabase
func (d *Database) FetchKeys( func (d *KeyDatabase) FetchKeys(
ctx context.Context, ctx context.Context,
requests map[gomatrixserverlib.PublicKeyLookupRequest]gomatrixserverlib.Timestamp, requests map[gomatrixserverlib.PublicKeyLookupRequest]gomatrixserverlib.Timestamp,
) (map[gomatrixserverlib.PublicKeyLookupRequest]gomatrixserverlib.PublicKeyLookupResult, error) { ) (map[gomatrixserverlib.PublicKeyLookupRequest]gomatrixserverlib.PublicKeyLookupResult, error) {
@ -58,7 +58,7 @@ func (d *Database) FetchKeys(
} }
// StoreKeys implements gomatrixserverlib.KeyDatabase // StoreKeys implements gomatrixserverlib.KeyDatabase
func (d *Database) StoreKeys( func (d *KeyDatabase) StoreKeys(
ctx context.Context, ctx context.Context,
keyMap map[gomatrixserverlib.PublicKeyLookupRequest]gomatrixserverlib.PublicKeyLookupResult, keyMap map[gomatrixserverlib.PublicKeyLookupRequest]gomatrixserverlib.PublicKeyLookupResult,
) error { ) error {