mirror of
https://codeberg.org/june64/mrvc.git
synced 2026-01-09 23:52:54 +01:00
move building of homeservers array into separate function
Move building of homeservers array into separate function to make Get function easier to follow.
This commit is contained in:
parent
94a7f7140d
commit
9441eef002
1 changed files with 18 additions and 12 deletions
|
|
@ -74,6 +74,23 @@ func getMembersByHomeserverByRoomID(roomIDs []id.RoomID, client *mautrix.Client)
|
|||
return membersByHomeserverByRoomID
|
||||
}
|
||||
|
||||
// Gets the homeservers appearing in the given membersByHomeserverByRoomID map tree.
|
||||
func getHomeservers(membersByHomeserverByRoomID map[id.RoomID]map[string]uint) []string {
|
||||
homeserverSet := make(map[string]bool)
|
||||
for _, membersByHomeserver := range membersByHomeserverByRoomID {
|
||||
for hs := range membersByHomeserver {
|
||||
homeserverSet[hs] = true
|
||||
}
|
||||
}
|
||||
|
||||
homeservers := make([]string, 0, len(homeserverSet))
|
||||
for hs := range homeserverSet {
|
||||
homeservers = append(homeservers, hs)
|
||||
}
|
||||
|
||||
return homeservers
|
||||
}
|
||||
|
||||
func getServerVersionInfoByHomeserver(homeservers []string, federationClient *fclient.Client) map[string](fclient.Version) {
|
||||
homeserverChannel := make(chan string)
|
||||
go func() {
|
||||
|
|
@ -114,18 +131,7 @@ func getServerVersionInfoByHomeserver(homeservers []string, federationClient *fc
|
|||
|
||||
func Get(roomIDs []id.RoomID, client *mautrix.Client, federationClient *fclient.Client) RoomInfoTree {
|
||||
membersByHomeserverByRoomID := getMembersByHomeserverByRoomID(roomIDs, client)
|
||||
|
||||
homeserverSet := make(map[string]bool)
|
||||
for _, membersByHomeserver := range membersByHomeserverByRoomID {
|
||||
for hs := range membersByHomeserver {
|
||||
homeserverSet[hs] = true
|
||||
}
|
||||
}
|
||||
homeservers := make([]string, 0, len(homeserverSet))
|
||||
for hs := range homeserverSet {
|
||||
homeservers = append(homeservers, hs)
|
||||
}
|
||||
|
||||
homeservers := getHomeservers(membersByHomeserverByRoomID)
|
||||
serverVersionInfoByHomeserver := getServerVersionInfoByHomeserver(homeservers, federationClient)
|
||||
|
||||
roomInfoTree := make(RoomInfoTree)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue