aboutsummaryrefslogtreecommitdiff
path: root/internal/caching
diff options
context:
space:
mode:
authorNeil Alexander <neilalexander@users.noreply.github.com>2022-07-13 10:13:34 +0100
committerNeil Alexander <neilalexander@users.noreply.github.com>2022-07-13 10:13:34 +0100
commita1f9b02edfd56809eaedd04fd233b1828085e190 (patch)
treedc48e75fcc7244230c5004c1df69d5be0a571329 /internal/caching
parent9cd8e9d4b97c6cff66665f57065a5bb8b7144045 (diff)
Pointerise `types.RoomInfo` in the cache so we can update it in-place in the latest events updater
Diffstat (limited to 'internal/caching')
-rw-r--r--internal/caching/cache_roominfo.go8
-rw-r--r--internal/caching/caches.go2
-rw-r--r--internal/caching/impl_ristretto.go2
3 files changed, 6 insertions, 6 deletions
diff --git a/internal/caching/cache_roominfo.go b/internal/caching/cache_roominfo.go
index d03a6107..5dfed3c8 100644
--- a/internal/caching/cache_roominfo.go
+++ b/internal/caching/cache_roominfo.go
@@ -16,18 +16,18 @@ import (
// a room Info cache. It must only be used from the roomserver only
// It is not safe for use from other components.
type RoomInfoCache interface {
- GetRoomInfo(roomID string) (roomInfo types.RoomInfo, ok bool)
- StoreRoomInfo(roomID string, roomInfo types.RoomInfo)
+ GetRoomInfo(roomID string) (roomInfo *types.RoomInfo, ok bool)
+ StoreRoomInfo(roomID string, roomInfo *types.RoomInfo)
}
// GetRoomInfo must only be called from the roomserver only. It is not
// safe for use from other components.
-func (c Caches) GetRoomInfo(roomID string) (types.RoomInfo, bool) {
+func (c Caches) GetRoomInfo(roomID string) (*types.RoomInfo, bool) {
return c.RoomInfos.Get(roomID)
}
// StoreRoomInfo must only be called from the roomserver only. It is not
// safe for use from other components.
-func (c Caches) StoreRoomInfo(roomID string, roomInfo types.RoomInfo) {
+func (c Caches) StoreRoomInfo(roomID string, roomInfo *types.RoomInfo) {
c.RoomInfos.Set(roomID, roomInfo)
}
diff --git a/internal/caching/caches.go b/internal/caching/caches.go
index 14b232dd..e7914ce7 100644
--- a/internal/caching/caches.go
+++ b/internal/caching/caches.go
@@ -28,7 +28,7 @@ type Caches struct {
RoomServerRoomNIDs Cache[string, types.RoomNID] // room ID -> room NID
RoomServerRoomIDs Cache[int64, string] // room NID -> room ID
RoomServerEvents Cache[int64, *gomatrixserverlib.Event] // event NID -> event
- RoomInfos Cache[string, types.RoomInfo] // room ID -> room info
+ RoomInfos Cache[string, *types.RoomInfo] // room ID -> room info
FederationPDUs Cache[int64, *gomatrixserverlib.HeaderedEvent] // queue NID -> PDU
FederationEDUs Cache[int64, *gomatrixserverlib.EDU] // queue NID -> EDU
SpaceSummaryRooms Cache[string, gomatrixserverlib.MSC2946SpacesResponse] // room ID -> space response
diff --git a/internal/caching/impl_ristretto.go b/internal/caching/impl_ristretto.go
index 6d625b55..677218b5 100644
--- a/internal/caching/impl_ristretto.go
+++ b/internal/caching/impl_ristretto.go
@@ -100,7 +100,7 @@ func NewRistrettoCache(maxCost config.DataUnit, maxAge time.Duration, enableProm
MaxAge: maxAge,
},
},
- RoomInfos: &RistrettoCachePartition[string, types.RoomInfo]{ // room ID -> room info
+ RoomInfos: &RistrettoCachePartition[string, *types.RoomInfo]{ // room ID -> room info
cache: cache,
Prefix: roomInfosCache,
Mutable: true,