From 2f210991684c87073dd7534d2d0416d91cf50275 Mon Sep 17 00:00:00 2001 From: Dustin Mierau Date: Fri, 12 Jan 2024 09:50:18 -0800 Subject: Experimenting with a simpler stream/delegate bsaed socket library for Tracker listing for now. Added consume methods to Data and [UInt8] arrays to make reading bytes off the wire easier to read.. --- Hotline/macOS/TrackerView.swift | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) (limited to 'Hotline/macOS') diff --git a/Hotline/macOS/TrackerView.swift b/Hotline/macOS/TrackerView.swift index d53b73e..6b8f330 100644 --- a/Hotline/macOS/TrackerView.swift +++ b/Hotline/macOS/TrackerView.swift @@ -81,27 +81,20 @@ class TrackerItem: Identifiable, Hashable { let client = HotlineTrackerClient() - self.loading = true -// self.servers = [] - - let fetchedServers: [HotlineServer] = await client.fetchServers(address: bookmark.address, port: HotlinePorts.DefaultTrackerPort) - - client.disconnect() - var newItems: [TrackerItem] = [] + if let fetchedServers: [HotlineServer] = try? await client.fetchServers(address: bookmark.address, port: HotlinePorts.DefaultTrackerPort) { + var newItems: [TrackerItem] = [] - for s in fetchedServers { - if let serverName = s.name { - - let server = Server(name: serverName, description: s.description, address: s.address, port: Int(s.port), users: Int(s.users)) -// let item = TrackerItem(server: server) - - newItems.append(TrackerItem(server: server)) + for s in fetchedServers { + if let serverName = s.name { + let server = Server(name: serverName, description: s.description, address: s.address, port: Int(s.port), users: Int(s.users)) + newItems.append(TrackerItem(server: server)) + } } - } - self.servers = newItems + self.servers = newItems + } self.loading = false } -- cgit