Reduce allocations on presence

This commit is contained in:
Neil Alexander 2022-04-06 12:23:20 +01:00
parent e5e3350ce1
commit ca73cf09b3
No known key found for this signature in database
GPG key ID: A02A2019A2BB0944
2 changed files with 4 additions and 3 deletions

View file

@ -509,6 +509,7 @@ func (s userIDSet) remove(str string) {
}
func (s userIDSet) values() (vals []string) {
vals = make([]string, 0, len(s))
for str := range s {
vals = append(vals, str)
}
@ -529,6 +530,7 @@ func (s peekingDeviceSet) remove(d types.PeekingDevice) {
}
func (s peekingDeviceSet) values() (vals []types.PeekingDevice) {
vals = make([]types.PeekingDevice, 0, len(s))
for d := range s {
vals = append(vals, d)
}

View file

@ -68,10 +68,9 @@ func (p *PresenceStreamProvider) IncrementalSync(
// TODO: SharedUsers might get out of sync
sharedUsers := p.notifier.SharedUsers(req.Device.UserID)
sharedUsersMap := map[string]bool{
req.Device.UserID: true,
}
// convert array to a map for easier checking if a user exists
sharedUsersMap := make(map[string]bool, len(sharedUsers))
sharedUsersMap[req.Device.UserID] = true
for i := range sharedUsers {
sharedUsersMap[sharedUsers[i]] = true
}