mirror of
https://codeberg.org/june64/mrvc.git
synced 2026-01-10 16:06:33 +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
|
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) {
|
func getServerVersionInfoByHomeserver(homeservers []string, federationClient *fclient.Client) map[string](fclient.Version) {
|
||||||
homeserverChannel := make(chan string)
|
homeserverChannel := make(chan string)
|
||||||
go func() {
|
go func() {
|
||||||
|
|
@ -114,18 +131,7 @@ func getServerVersionInfoByHomeserver(homeservers []string, federationClient *fc
|
||||||
|
|
||||||
func Get(roomIDs []id.RoomID, client *mautrix.Client, federationClient *fclient.Client) RoomInfoTree {
|
func Get(roomIDs []id.RoomID, client *mautrix.Client, federationClient *fclient.Client) RoomInfoTree {
|
||||||
membersByHomeserverByRoomID := getMembersByHomeserverByRoomID(roomIDs, client)
|
membersByHomeserverByRoomID := getMembersByHomeserverByRoomID(roomIDs, client)
|
||||||
|
homeservers := getHomeservers(membersByHomeserverByRoomID)
|
||||||
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)
|
|
||||||
}
|
|
||||||
|
|
||||||
serverVersionInfoByHomeserver := getServerVersionInfoByHomeserver(homeservers, federationClient)
|
serverVersionInfoByHomeserver := getServerVersionInfoByHomeserver(homeservers, federationClient)
|
||||||
|
|
||||||
roomInfoTree := make(RoomInfoTree)
|
roomInfoTree := make(RoomInfoTree)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue