diff options
Diffstat (limited to '')
-rw-r--r-- | LibMatrix/RoomTypes/GenericRoom.cs | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/LibMatrix/RoomTypes/GenericRoom.cs b/LibMatrix/RoomTypes/GenericRoom.cs index 551d780..9e2cb67 100644 --- a/LibMatrix/RoomTypes/GenericRoom.cs +++ b/LibMatrix/RoomTypes/GenericRoom.cs @@ -1,3 +1,4 @@ +using System.Collections.Frozen; using System.Diagnostics; using System.Net.Http.Json; using System.Text.Json; @@ -36,9 +37,8 @@ public class GenericRoom { } } - public Task<List<StateEventResponse>> GetFullStateAsListAsync() { - return Homeserver.ClientHttpClient.GetFromJsonAsync<List<StateEventResponse>>($"/_matrix/client/v3/rooms/{RoomId}/state"); - } + public Task<List<StateEventResponse>> GetFullStateAsListAsync() => + Homeserver.ClientHttpClient.GetFromJsonAsync<List<StateEventResponse>>($"/_matrix/client/v3/rooms/{RoomId}/state"); public async Task<T?> GetStateAsync<T>(string type, string stateKey = "") { var url = $"/_matrix/client/v3/rooms/{RoomId}/state"; @@ -171,7 +171,7 @@ public class GenericRoom { public async IAsyncEnumerable<StateEventResponse> GetMembersEnumerableAsync(bool joinedOnly = true) { var sw = Stopwatch.StartNew(); var res = await Homeserver.ClientHttpClient.GetAsync($"/_matrix/client/v3/rooms/{RoomId}/members"); - if(sw.ElapsedMilliseconds > 1000) + if (sw.ElapsedMilliseconds > 1000) Console.WriteLine($"Members call responded in {sw.GetElapsedAndRestart()}"); else sw.Restart(); // var resText = await res.Content.ReadAsStringAsync(); @@ -179,7 +179,7 @@ public class GenericRoom { var result = await JsonSerializer.DeserializeAsync<ChunkedStateEventResponse>(await res.Content.ReadAsStreamAsync(), new JsonSerializerOptions() { TypeInfoResolver = ChunkedStateEventResponseSerializerContext.Default, }); - if(sw.ElapsedMilliseconds > 100) + if (sw.ElapsedMilliseconds > 100) Console.WriteLine($"Members call deserialised in {sw.GetElapsedAndRestart()}"); else sw.Restart(); foreach (var resp in result.Chunk) { @@ -188,14 +188,14 @@ public class GenericRoom { yield return resp; } - if(sw.ElapsedMilliseconds > 100) + if (sw.ElapsedMilliseconds > 100) Console.WriteLine($"Members call iterated in {sw.GetElapsedAndRestart()}"); } - - public async Task<List<StateEventResponse>> GetMembersListAsync(bool joinedOnly = true) { + + public async Task<FrozenSet<StateEventResponse>> GetMembersListAsync(bool joinedOnly = true) { var sw = Stopwatch.StartNew(); var res = await Homeserver.ClientHttpClient.GetAsync($"/_matrix/client/v3/rooms/{RoomId}/members"); - if(sw.ElapsedMilliseconds > 1000) + if (sw.ElapsedMilliseconds > 1000) Console.WriteLine($"Members call responded in {sw.GetElapsedAndRestart()}"); else sw.Restart(); // var resText = await res.Content.ReadAsStringAsync(); @@ -203,7 +203,7 @@ public class GenericRoom { var result = await JsonSerializer.DeserializeAsync<ChunkedStateEventResponse>(await res.Content.ReadAsStreamAsync(), new JsonSerializerOptions() { TypeInfoResolver = ChunkedStateEventResponseSerializerContext.Default, }); - if(sw.ElapsedMilliseconds > 100) + if (sw.ElapsedMilliseconds > 100) Console.WriteLine($"Members call deserialised in {sw.GetElapsedAndRestart()}"); else sw.Restart(); var members = new List<StateEventResponse>(); @@ -213,9 +213,9 @@ public class GenericRoom { members.Add(resp); } - if(sw.ElapsedMilliseconds > 100) + if (sw.ElapsedMilliseconds > 100) Console.WriteLine($"Members call iterated in {sw.GetElapsedAndRestart()}"); - return members; + return members.ToFrozenSet(); } #region Utility shortcuts @@ -298,7 +298,7 @@ public class GenericRoom { catch (Exception e) { Console.WriteLine(e); } - + return Homeserver.ResolveMediaUri(avatar.Url); } |