aboutsummaryrefslogtreecommitdiff
path: root/roomserver
diff options
context:
space:
mode:
authorNeil Alexander <neilalexander@users.noreply.github.com>2020-06-05 16:42:01 +0100
committerGitHub <noreply@github.com>2020-06-05 16:42:01 +0100
commite7b19d2c70be49f3c995a9bfd9dd93ce767d960f (patch)
tree0ff8734c896530843537c4c58421964cf89f020d /roomserver
parent76ff47c0522e03eabd72140bf62e1d0d1d1029e0 (diff)
More flexible caching (#1101)
Diffstat (limited to 'roomserver')
-rw-r--r--roomserver/internal/api.go2
-rw-r--r--roomserver/internal/query.go4
-rw-r--r--roomserver/inthttp/client.go18
-rw-r--r--roomserver/roomserver.go2
4 files changed, 13 insertions, 13 deletions
diff --git a/roomserver/internal/api.go b/roomserver/internal/api.go
index 3a7b0d76..37a8a39b 100644
--- a/roomserver/internal/api.go
+++ b/roomserver/internal/api.go
@@ -16,7 +16,7 @@ type RoomserverInternalAPI struct {
DB storage.Database
Cfg *config.Dendrite
Producer sarama.SyncProducer
- ImmutableCache caching.ImmutableCache
+ Cache caching.RoomVersionCache
ServerName gomatrixserverlib.ServerName
KeyRing gomatrixserverlib.JSONVerifier
FedClient *gomatrixserverlib.FederationClient
diff --git a/roomserver/internal/query.go b/roomserver/internal/query.go
index fce2ae90..9fb67e7e 100644
--- a/roomserver/internal/query.go
+++ b/roomserver/internal/query.go
@@ -951,7 +951,7 @@ func (r *RoomserverInternalAPI) QueryRoomVersionForRoom(
request *api.QueryRoomVersionForRoomRequest,
response *api.QueryRoomVersionForRoomResponse,
) error {
- if roomVersion, ok := r.ImmutableCache.GetRoomVersion(request.RoomID); ok {
+ if roomVersion, ok := r.Cache.GetRoomVersion(request.RoomID); ok {
response.RoomVersion = roomVersion
return nil
}
@@ -961,6 +961,6 @@ func (r *RoomserverInternalAPI) QueryRoomVersionForRoom(
return err
}
response.RoomVersion = roomVersion
- r.ImmutableCache.StoreRoomVersion(request.RoomID, response.RoomVersion)
+ r.Cache.StoreRoomVersion(request.RoomID, response.RoomVersion)
return nil
}
diff --git a/roomserver/inthttp/client.go b/roomserver/inthttp/client.go
index 99db9e1e..5cc2537e 100644
--- a/roomserver/inthttp/client.go
+++ b/roomserver/inthttp/client.go
@@ -43,9 +43,9 @@ const (
)
type httpRoomserverInternalAPI struct {
- roomserverURL string
- httpClient *http.Client
- immutableCache caching.ImmutableCache
+ roomserverURL string
+ httpClient *http.Client
+ cache caching.RoomVersionCache
}
// NewRoomserverClient creates a RoomserverInputAPI implemented by talking to a HTTP POST API.
@@ -53,15 +53,15 @@ type httpRoomserverInternalAPI struct {
func NewRoomserverClient(
roomserverURL string,
httpClient *http.Client,
- immutableCache caching.ImmutableCache,
+ cache caching.RoomVersionCache,
) (api.RoomserverInternalAPI, error) {
if httpClient == nil {
return nil, errors.New("NewRoomserverInternalAPIHTTP: httpClient is <nil>")
}
return &httpRoomserverInternalAPI{
- roomserverURL: roomserverURL,
- httpClient: httpClient,
- immutableCache: immutableCache,
+ roomserverURL: roomserverURL,
+ httpClient: httpClient,
+ cache: cache,
}, nil
}
@@ -320,7 +320,7 @@ func (h *httpRoomserverInternalAPI) QueryRoomVersionForRoom(
request *api.QueryRoomVersionForRoomRequest,
response *api.QueryRoomVersionForRoomResponse,
) error {
- if roomVersion, ok := h.immutableCache.GetRoomVersion(request.RoomID); ok {
+ if roomVersion, ok := h.cache.GetRoomVersion(request.RoomID); ok {
response.RoomVersion = roomVersion
return nil
}
@@ -331,7 +331,7 @@ func (h *httpRoomserverInternalAPI) QueryRoomVersionForRoom(
apiURL := h.roomserverURL + RoomserverQueryRoomVersionForRoomPath
err := internalHTTP.PostJSON(ctx, span, h.httpClient, apiURL, request, response)
if err == nil {
- h.immutableCache.StoreRoomVersion(request.RoomID, response.RoomVersion)
+ h.cache.StoreRoomVersion(request.RoomID, response.RoomVersion)
}
return err
}
diff --git a/roomserver/roomserver.go b/roomserver/roomserver.go
index ae0b0794..a55b20be 100644
--- a/roomserver/roomserver.go
+++ b/roomserver/roomserver.go
@@ -44,7 +44,7 @@ func SetupRoomServerComponent(
Cfg: base.Cfg,
Producer: base.KafkaProducer,
OutputRoomEventTopic: string(base.Cfg.Kafka.Topics.OutputRoomEvent),
- ImmutableCache: base.ImmutableCache,
+ Cache: base.Caches,
ServerName: base.Cfg.Matrix.ServerName,
FedClient: fedClient,
KeyRing: keyRing,