// Generated GRPC code for FlatBuffers swift! /// The following code is generated by the Flatbuffers library which might not be in sync with grpc-swift /// in case of an issue please open github issue, though it would be maintained // swiftlint:disable all // swiftformat:disable all #if !os(Windows) && compiler(>=6.0) import FlatBuffers import Foundation import GRPCCore import GRPCNIOTransportCore /// Usage: instantiate models.GreeterServiceClient, then call methods of this protocol to make API calls. @available(macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, visionOS 2.0, *) extension FlatBuffersMessageSerializer: MessageSerializer { public func serialize(_ message: Message) throws -> Bytes where Bytes : GRPCCore.GRPCContiguousBytes { do { return try self.serialize(message: message) { GRPCNIOTransportBytes($0) } as! Bytes } catch let error { throw RPCError( code: .invalidArgument, message: "Can't serialize message", cause: error ) } } } @available(macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, visionOS 2.0, *) extension FlatBuffersMessageDeserializer: MessageDeserializer { public func deserialize(_ serializedMessageBytes: Bytes) throws -> Message where Bytes : GRPCCore.GRPCContiguousBytes { do { return try serializedMessageBytes.withUnsafeBytes { try self.deserialize(pointer: $0) } } catch let error { throw RPCError( code: .invalidArgument, message: "Can't Decode message of type \(Message.self)", cause: error ) } } } @available(macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, visionOS 2.0, *) public enum models_Greeter: Sendable { public static let descriptor = GRPCCore.ServiceDescriptor(fullyQualifiedService: "models.Greeter") public enum Method: Sendable { public enum Get: Sendable { public typealias Input = FlatBufferBuilder public typealias Output = models_HelloResponse public static let descriptor = GRPCCore.MethodDescriptor( service: GRPCCore.ServiceDescriptor(fullyQualifiedService: "models.Greeter"), method: "Get" ) } public enum Collect: Sendable { public typealias Input = FlatBufferBuilder public typealias Output = models_HelloResponse public static let descriptor = GRPCCore.MethodDescriptor( service: GRPCCore.ServiceDescriptor(fullyQualifiedService: "models.Greeter"), method: "Collect" ) } public enum Expand: Sendable { public typealias Input = FlatBufferBuilder public typealias Output = models_HelloResponse public static let descriptor = GRPCCore.MethodDescriptor( service: GRPCCore.ServiceDescriptor(fullyQualifiedService: "models.Greeter"), method: "Expand" ) } public enum Update: Sendable { public typealias Input = FlatBufferBuilder public typealias Output = models_HelloResponse public static let descriptor = GRPCCore.MethodDescriptor( service: GRPCCore.ServiceDescriptor(fullyQualifiedService: "models.Greeter"), method: "Update" ) } public static let descriptors: [GRPCCore.MethodDescriptor] = [ Get.descriptor, Collect.descriptor, Expand.descriptor, Update.descriptor, ] } } @available(macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, visionOS 2.0, *) extension GRPCCore.ServiceDescriptor { public static let models_Greeter = GRPCCore.ServiceDescriptor(fullyQualifiedService: "models.Greeter") } // MARK: models.Greeter Server @available(macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, visionOS 2.0, *) extension models_Greeter { public protocol StreamingServiceProtocol: GRPCCore.RegistrableRPCService { func Get( request: GRPCCore.StreamingServerRequest>, context: GRPCCore.ServerContext ) async throws -> GRPCCore.StreamingServerResponse> func Collect( request: GRPCCore.StreamingServerRequest>, context: GRPCCore.ServerContext ) async throws -> GRPCCore.StreamingServerResponse> func Expand( request: GRPCCore.StreamingServerRequest>, context: GRPCCore.ServerContext ) async throws -> GRPCCore.StreamingServerResponse> func Update( request: GRPCCore.StreamingServerRequest>, context: GRPCCore.ServerContext ) async throws -> GRPCCore.StreamingServerResponse> } public protocol ServiceProtocol: models_Greeter.StreamingServiceProtocol { func Get( request: GRPCCore.ServerRequest>, context: GRPCCore.ServerContext ) async throws -> GRPCCore.ServerResponse> func Collect( request: GRPCCore.StreamingServerRequest>, context: GRPCCore.ServerContext ) async throws -> GRPCCore.ServerResponse> func Expand( request: GRPCCore.ServerRequest>, context: GRPCCore.ServerContext ) async throws -> GRPCCore.StreamingServerResponse> func Update( request: GRPCCore.StreamingServerRequest>, context: GRPCCore.ServerContext ) async throws -> GRPCCore.StreamingServerResponse> } public protocol SimpleServiceProtocol: models_Greeter.ServiceProtocol { func Get( request: GRPCMessage, context: GRPCCore.ServerContext ) async throws -> GRPCMessage func Collect( request: GRPCCore.RPCAsyncSequence, any Swift.Error>, context: GRPCCore.ServerContext ) async throws -> GRPCMessage func Expand( request: GRPCMessage, response: GRPCCore.RPCWriter>, context: GRPCCore.ServerContext ) async throws func Update( request: GRPCCore.RPCAsyncSequence, any Swift.Error>, response: GRPCCore.RPCWriter>, context: GRPCCore.ServerContext ) async throws } } @available(macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, visionOS 2.0, *) extension models_Greeter.StreamingServiceProtocol { public func registerMethods(with router: inout GRPCCore.RPCRouter) where Transport: GRPCCore.ServerTransport { router.registerHandler( forMethod: models_Greeter.Method.Get.descriptor, deserializer: FlatBuffersMessageDeserializer>(), serializer: FlatBuffersMessageSerializer>(), handler: { request, context in try await self.Get( request: request, context: context ) } ) router.registerHandler( forMethod: models_Greeter.Method.Collect.descriptor, deserializer: FlatBuffersMessageDeserializer>(), serializer: FlatBuffersMessageSerializer>(), handler: { request, context in try await self.Collect( request: request, context: context ) } ) router.registerHandler( forMethod: models_Greeter.Method.Expand.descriptor, deserializer: FlatBuffersMessageDeserializer>(), serializer: FlatBuffersMessageSerializer>(), handler: { request, context in try await self.Expand( request: request, context: context ) } ) router.registerHandler( forMethod: models_Greeter.Method.Update.descriptor, deserializer: FlatBuffersMessageDeserializer>(), serializer: FlatBuffersMessageSerializer>(), handler: { request, context in try await self.Update( request: request, context: context ) } ) } } @available(macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, visionOS 2.0, *) extension models_Greeter.ServiceProtocol { public func Get( request: GRPCCore.StreamingServerRequest>, context: GRPCCore.ServerContext ) async throws -> GRPCCore.StreamingServerResponse> { let response = try await self.Get( request: GRPCCore.ServerRequest(stream: request), context: context ) return GRPCCore.StreamingServerResponse(single: response) } public func Collect( request: GRPCCore.StreamingServerRequest>, context: GRPCCore.ServerContext ) async throws -> GRPCCore.StreamingServerResponse> { let response = try await self.Collect( request: request, context: context ) return GRPCCore.StreamingServerResponse(single: response) } public func Expand( request: GRPCCore.StreamingServerRequest>, context: GRPCCore.ServerContext ) async throws -> GRPCCore.StreamingServerResponse> { let response = try await self.Expand( request: GRPCCore.ServerRequest(stream: request), context: context ) return response } } @available(macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, visionOS 2.0, *) extension models_Greeter.SimpleServiceProtocol { public func Get( request: GRPCCore.ServerRequest>, context: GRPCCore.ServerContext ) async throws -> GRPCCore.ServerResponse> { return GRPCCore.ServerResponse>( message: try await self.Get( request: request.message, context: context ), metadata: [:] ) } public func Collect( request: GRPCCore.StreamingServerRequest>, context: GRPCCore.ServerContext ) async throws -> GRPCCore.ServerResponse> { return GRPCCore.ServerResponse>( message: try await self.Collect( request: request.messages, context: context ), metadata: [:] ) } public func Expand( request: GRPCCore.ServerRequest>, context: GRPCCore.ServerContext ) async throws -> GRPCCore.StreamingServerResponse> { return GRPCCore.StreamingServerResponse>( metadata: [:], producer: { writer in try await self.Expand( request: request.message, response: writer, context: context ) return [:] } ) } public func Update( request: GRPCCore.StreamingServerRequest>, context: GRPCCore.ServerContext ) async throws -> GRPCCore.StreamingServerResponse> { return GRPCCore.StreamingServerResponse>( metadata: [:], producer: { writer in try await self.Update( request: request.messages, response: writer, context: context ) return [:] } ) } } // MARK: models.Greeter Client @available(macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, visionOS 2.0, *) extension models_Greeter { public protocol ClientProtocol: Sendable { func Get( request: GRPCCore.ClientRequest>, serializer: some GRPCCore.MessageSerializer>, deserializer: some GRPCCore.MessageDeserializer>, options: GRPCCore.CallOptions, onResponse handleResponse: @Sendable @escaping (GRPCCore.ClientResponse>) async throws -> Result ) async throws -> Result where Result: Sendable func Collect( request: GRPCCore.StreamingClientRequest>, serializer: some GRPCCore.MessageSerializer>, deserializer: some GRPCCore.MessageDeserializer>, options: GRPCCore.CallOptions, onResponse handleResponse: @Sendable @escaping (GRPCCore.ClientResponse>) async throws -> Result ) async throws -> Result where Result: Sendable func Expand( request: GRPCCore.ClientRequest>, serializer: some GRPCCore.MessageSerializer>, deserializer: some GRPCCore.MessageDeserializer>, options: GRPCCore.CallOptions, onResponse handleResponse: @Sendable @escaping (GRPCCore.StreamingClientResponse>) async throws -> Result ) async throws -> Result where Result: Sendable func Update( request: GRPCCore.StreamingClientRequest>, serializer: some GRPCCore.MessageSerializer>, deserializer: some GRPCCore.MessageDeserializer>, options: GRPCCore.CallOptions, onResponse handleResponse: @Sendable @escaping (GRPCCore.StreamingClientResponse>) async throws -> Result ) async throws -> Result where Result: Sendable } } @available(macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, visionOS 2.0, *) extension models_Greeter { public struct Client: ClientProtocol where Transport: GRPCCore.ClientTransport { private let client: GRPCCore.GRPCClient public init(wrapping client: GRPCCore.GRPCClient) { self.client = client } public func Get( request: GRPCCore.ClientRequest>, serializer: some GRPCCore.MessageSerializer>, deserializer: some GRPCCore.MessageDeserializer>, options: GRPCCore.CallOptions = .defaults, onResponse handleResponse: @Sendable @escaping (GRPCCore.ClientResponse>) async throws -> Result = { response in try response.message } ) async throws -> Result where Result: Sendable { try await self.client.unary( request: request, descriptor: models_Greeter.Method.Get.descriptor, serializer: serializer, deserializer: deserializer, options: options, onResponse: handleResponse ) } public func Collect( request: GRPCCore.StreamingClientRequest>, serializer: some GRPCCore.MessageSerializer>, deserializer: some GRPCCore.MessageDeserializer>, options: GRPCCore.CallOptions = .defaults, onResponse handleResponse: @Sendable @escaping (GRPCCore.ClientResponse>) async throws -> Result = { response in try response.message } ) async throws -> Result where Result: Sendable { try await self.client.clientStreaming( request: request, descriptor: models_Greeter.Method.Collect.descriptor, serializer: serializer, deserializer: deserializer, options: options, onResponse: handleResponse ) } public func Expand( request: GRPCCore.ClientRequest>, serializer: some GRPCCore.MessageSerializer>, deserializer: some GRPCCore.MessageDeserializer>, options: GRPCCore.CallOptions = .defaults, onResponse handleResponse: @Sendable @escaping (GRPCCore.StreamingClientResponse>) async throws -> Result ) async throws -> Result where Result: Sendable { try await self.client.serverStreaming( request: request, descriptor: models_Greeter.Method.Expand.descriptor, serializer: serializer, deserializer: deserializer, options: options, onResponse: handleResponse ) } public func Update( request: GRPCCore.StreamingClientRequest>, serializer: some GRPCCore.MessageSerializer>, deserializer: some GRPCCore.MessageDeserializer>, options: GRPCCore.CallOptions = .defaults, onResponse handleResponse: @Sendable @escaping (GRPCCore.StreamingClientResponse>) async throws -> Result ) async throws -> Result where Result: Sendable { try await self.client.bidirectionalStreaming( request: request, descriptor: models_Greeter.Method.Update.descriptor, serializer: serializer, deserializer: deserializer, options: options, onResponse: handleResponse ) } } } @available(macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, visionOS 2.0, *) extension models_Greeter.ClientProtocol { public func Get( request: GRPCCore.ClientRequest>, options: GRPCCore.CallOptions = .defaults, onResponse handleResponse: @Sendable @escaping (GRPCCore.ClientResponse>) async throws -> Result = { response in try response.message } ) async throws -> Result where Result: Sendable { try await self.Get( request: request, serializer: FlatBuffersMessageSerializer>(), deserializer: FlatBuffersMessageDeserializer>(), options: options, onResponse: handleResponse ) } public func Collect( request: GRPCCore.StreamingClientRequest>, options: GRPCCore.CallOptions = .defaults, onResponse handleResponse: @Sendable @escaping (GRPCCore.ClientResponse>) async throws -> Result = { response in try response.message } ) async throws -> Result where Result: Sendable { try await self.Collect( request: request, serializer: FlatBuffersMessageSerializer>(), deserializer: FlatBuffersMessageDeserializer>(), options: options, onResponse: handleResponse ) } public func Expand( request: GRPCCore.ClientRequest>, options: GRPCCore.CallOptions = .defaults, onResponse handleResponse: @Sendable @escaping (GRPCCore.StreamingClientResponse>) async throws -> Result ) async throws -> Result where Result: Sendable { try await self.Expand( request: request, serializer: FlatBuffersMessageSerializer>(), deserializer: FlatBuffersMessageDeserializer>(), options: options, onResponse: handleResponse ) } public func Update( request: GRPCCore.StreamingClientRequest>, options: GRPCCore.CallOptions = .defaults, onResponse handleResponse: @Sendable @escaping (GRPCCore.StreamingClientResponse>) async throws -> Result ) async throws -> Result where Result: Sendable { try await self.Update( request: request, serializer: FlatBuffersMessageSerializer>(), deserializer: FlatBuffersMessageDeserializer>(), options: options, onResponse: handleResponse ) } } @available(macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, visionOS 2.0, *) extension models_Greeter.ClientProtocol { public func Get( _ message: GRPCMessage, metadata: GRPCCore.Metadata = [:], options: GRPCCore.CallOptions = .defaults, onResponse handleResponse: @Sendable @escaping (GRPCCore.ClientResponse>) async throws -> Result = { try $0.message } ) async throws -> Result where Result: Sendable { let request = GRPCCore.ClientRequest>( message: message, metadata: metadata ) return try await self.Get( request: request, options: options, onResponse: handleResponse ) } public func Collect( metadata: GRPCCore.Metadata = [:], options: GRPCCore.CallOptions = .defaults, requestProducer producer: @Sendable @escaping (GRPCCore.RPCWriter>) async throws -> Void, onResponse handleResponse: @Sendable @escaping (GRPCCore.ClientResponse>) async throws -> Result = { try $0.message } ) async throws -> Result where Result: Sendable { let request = GRPCCore.StreamingClientRequest>( metadata: metadata, producer: producer ) return try await self.Collect( request: request, options: options, onResponse: handleResponse ) } public func Expand( _ message: GRPCMessage, metadata: GRPCCore.Metadata = [:], options: GRPCCore.CallOptions = .defaults, onResponse handleResponse: @Sendable @escaping (GRPCCore.StreamingClientResponse>) async throws -> Result ) async throws -> Result where Result: Sendable { let request = GRPCCore.ClientRequest>( message: message, metadata: metadata ) return try await self.Expand( request: request, options: options, onResponse: handleResponse ) } public func Update( metadata: GRPCCore.Metadata = [:], options: GRPCCore.CallOptions = .defaults, requestProducer producer: @Sendable @escaping (GRPCCore.RPCWriter>) async throws -> Void, onResponse handleResponse: @Sendable @escaping (GRPCCore.StreamingClientResponse>) async throws -> Result ) async throws -> Result where Result: Sendable { let request = GRPCCore.StreamingClientRequest>( metadata: metadata, producer: producer ) return try await self.Update( request: request, options: options, onResponse: handleResponse ) } } #endif