mirror of
https://github.com/GayPizzaSpecifications/stable-diffusion-rpc.git
synced 2025-08-04 05:51:32 +00:00
Implement a Java/Kotlin client.
This commit is contained in:
30
Sources/StableDiffusionControl/StableDiffusionClient.swift
Normal file
30
Sources/StableDiffusionControl/StableDiffusionClient.swift
Normal file
@ -0,0 +1,30 @@
|
||||
import Foundation
|
||||
import GRPC
|
||||
import NIO
|
||||
import StableDiffusionCore
|
||||
import StableDiffusionProtos
|
||||
|
||||
struct StableDiffusionClient {
|
||||
let group: EventLoopGroup
|
||||
let channel: GRPCChannel
|
||||
|
||||
let modelService: SdModelServiceAsyncClient
|
||||
let imageGenerationService: SdImageGenerationServiceAsyncClient
|
||||
|
||||
init(connectionTarget: ConnectionTarget, transportSecurity: GRPCChannelPool.Configuration.TransportSecurity) throws {
|
||||
group = PlatformSupport.makeEventLoopGroup(loopCount: 1)
|
||||
|
||||
channel = try GRPCChannelPool.with(
|
||||
target: connectionTarget,
|
||||
transportSecurity: transportSecurity,
|
||||
eventLoopGroup: group
|
||||
)
|
||||
|
||||
modelService = SdModelServiceAsyncClient(channel: channel)
|
||||
imageGenerationService = SdImageGenerationServiceAsyncClient(channel: channel)
|
||||
}
|
||||
|
||||
func close() async throws {
|
||||
try await group.shutdownGracefully()
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user