Skip to content

Commit 5ca8a83

Browse files
committed
fmt & lint
1 parent 37b5708 commit 5ca8a83

File tree

3 files changed

+54
-56
lines changed

3 files changed

+54
-56
lines changed

Diff for: Coder-Desktop/VPNLib/FileSync/FileSyncDaemon.swift

+1-54
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ public class MutagenDaemon: FileSyncDaemon {
3838
private let mutagenDaemonSocket: URL
3939

4040
// Non-nil when the daemon is running
41+
var client: DaemonClient?
4142
private var group: MultiThreadedEventLoopGroup?
4243
private var channel: GRPCChannel?
43-
private var client: DaemonClient?
4444

4545
// Protect start & stop transitions against re-entrancy
4646
private let transition = AsyncSemaphore(value: 1)
@@ -293,59 +293,6 @@ public class MutagenDaemon: FileSyncDaemon {
293293
}
294294
}
295295

296-
297-
extension MutagenDaemon {
298-
typealias PromptStream = GRPCAsyncBidirectionalStreamingCall<Prompting_HostRequest, Prompting_HostResponse>
299-
300-
func Host(allowPrompts: Bool = true) async throws(DaemonError) -> (PromptStream, identifier: String) {
301-
let stream = client!.prompt.makeHostCall()
302-
303-
do {
304-
try await stream.requestStream.send(.with { req in req.allowPrompts = allowPrompts })
305-
} catch {
306-
throw .grpcFailure(error)
307-
}
308-
309-
// We can't make call `makeAsyncIterator` more than once
310-
// (as a for-loop would do implicitly)
311-
var iter = stream.responseStream.makeAsyncIterator()
312-
313-
// "Receive the initialization response, validate it, and extract the prompt identifier"
314-
let initResp: Prompting_HostResponse?
315-
do {
316-
initResp = try await iter.next()
317-
} catch {
318-
throw .grpcFailure(error)
319-
}
320-
guard let initResp = initResp else {
321-
throw .unexpectedStreamClosure
322-
}
323-
// TODO: we'll always accept prompts for now
324-
try initResp.ensureValid(first: true, allowPrompts: allowPrompts)
325-
326-
Task.detached(priority: .background) {
327-
do {
328-
while let resp = try await iter.next() {
329-
debugPrint(resp)
330-
try resp.ensureValid(first: false, allowPrompts: allowPrompts)
331-
switch resp.isPrompt {
332-
case true:
333-
// TODO: Handle prompt
334-
break
335-
case false:
336-
// TODO: Handle message
337-
break
338-
}
339-
}
340-
} catch {
341-
// TODO: Log prompter stream error
342-
}
343-
}
344-
return (stream, identifier: initResp.identifier)
345-
}
346-
}
347-
348-
349296
struct DaemonClient {
350297
let mgmt: Daemon_DaemonAsyncClient
351298
let sync: Synchronization_SynchronizationAsyncClient
+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
import GRPC
2+
3+
extension MutagenDaemon {
4+
typealias PromptStream = GRPCAsyncBidirectionalStreamingCall<Prompting_HostRequest, Prompting_HostResponse>
5+
6+
func host(allowPrompts: Bool = true) async throws(DaemonError) -> (PromptStream, identifier: String) {
7+
let stream = client!.prompt.makeHostCall()
8+
9+
do {
10+
try await stream.requestStream.send(.with { req in req.allowPrompts = allowPrompts })
11+
} catch {
12+
throw .grpcFailure(error)
13+
}
14+
15+
// We can't make call `makeAsyncIterator` more than once
16+
// (as a for-loop would do implicitly)
17+
var iter = stream.responseStream.makeAsyncIterator()
18+
19+
// "Receive the initialization response, validate it, and extract the prompt identifier"
20+
let initResp: Prompting_HostResponse?
21+
do {
22+
initResp = try await iter.next()
23+
} catch {
24+
throw .grpcFailure(error)
25+
}
26+
guard let initResp else {
27+
throw .unexpectedStreamClosure
28+
}
29+
// TODO: we'll always accept prompts for now
30+
try initResp.ensureValid(first: true, allowPrompts: allowPrompts)
31+
32+
Task.detached(priority: .background) {
33+
do {
34+
while let resp = try await iter.next() {
35+
debugPrint(resp)
36+
try resp.ensureValid(first: false, allowPrompts: allowPrompts)
37+
switch resp.isPrompt {
38+
case true:
39+
// TODO: Handle prompt
40+
break
41+
case false:
42+
// TODO: Handle message
43+
break
44+
}
45+
}
46+
} catch {
47+
// TODO: Log prompter stream error
48+
}
49+
}
50+
return (stream, identifier: initResp.identifier)
51+
}
52+
}

Diff for: Coder-Desktop/VPNLib/FileSync/MutagenConvert.swift

+1-2
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@ func humanReadableBytes(_ bytes: UInt64) -> String {
5858
ByteCountFormatter().string(fromByteCount: Int64(bytes))
5959
}
6060

61-
6261
extension Prompting_HostResponse {
6362
func ensureValid(first: Bool, allowPrompts: Bool) throws(DaemonError) {
6463
if first {
@@ -80,4 +79,4 @@ extension Prompting_HostResponse {
8079
}
8180
}
8281
}
83-
}
82+
}

0 commit comments

Comments
 (0)