Changes
2 changed files (+44/-43)
-
-
@@ -159,22 +159,28 @@ break} } do { logger.debug("Querying server info") let res = try await request(Moo(info: .init()), timeout: .seconds(3)) let info = try RegistryService.InfoResponse(res) guard info.coreId == serverID else { throw ConnectError.serverIDMismatch try await withTaskCancellationHandler { do { logger.debug("Querying server info") let res = try await request(Moo(info: .init()), timeout: .seconds(3)) let info = try RegistryService.InfoResponse(res) guard info.coreId == serverID else { throw ConnectError.serverIDMismatch } } } do { logger.debug("Registering extension") // This stays pending until user accepts the extension on Roon settings page. // Because of this, setting timeout does not make sense here. let res = try await request(Moo(register: ext)) let result = try RegistryService.RegisterResponse(res) token = result.token do { logger.debug("Registering extension") // This stays pending until user accepts the extension on Roon settings page. // Because of this, setting timeout does not make sense here. let res = try await request(Moo(register: ext)) let result = try RegistryService.RegisterResponse(res) token = result.token } } onCancel: { Task.detached { await self.conn.forceCancel() } } }
-
-
-
@@ -111,42 +111,37 @@ self.port = portself.loop = Task { [weak self] in while true { do { let conn: Connection let connectionStartsAt: ContinuousClock.Instant if let self = self { state = .connecting self?.state = .connecting let ext = RegistryService.Extension( id: "jp.pocka.plac.apple", displayName: "Plac for \(systemName)", version: "0.0.1", publisher: "Shota FUJI", email: "pockawoooh@gmail.com", requiredServices: [ TransportService.id, BrowseService.id, ImageService.id, ], token: token, ) let ext = RegistryService.Extension( id: "jp.pocka.plac.apple", displayName: "Plac for \(systemName)", version: "0.0.1", publisher: "Shota FUJI", email: "pockawoooh@gmail.com", requiredServices: [ TransportService.id, BrowseService.id, ImageService.id, ], token: token, ) conn = try await Connection( id: serverID, host: host, port: port, ext: ext ) let conn = try await Connection( id: serverID, host: host, port: port, ext: ext ) state = .connected(conn) self?.state = .connected(conn) connectionStartsAt = ContinuousClock.now let connectionStartsAt = ContinuousClock.now self.token = await conn.token let token = await conn.token if let token = self.token { onConnect?(token) } } else { return self?.token = token if let token = token { onConnect?(token) } await conn.lifetime()
-