// 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 MyGame.Example.MonsterStorageServiceClient, 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 MyGame_Example_MonsterStorage: Sendable { public static let descriptor = GRPCCore.ServiceDescriptor(fullyQualifiedService: "MyGame.Example.MonsterStorage") public enum Method: Sendable { public enum Store: Sendable { public typealias Input = FlatBufferBuilder public typealias Output = MyGame_Example_Stat public static let descriptor = GRPCCore.MethodDescriptor( service: GRPCCore.ServiceDescriptor(fullyQualifiedService: "MyGame.Example.MonsterStorage"), method: "Store" ) } public enum Retrieve: Sendable { public typealias Input = FlatBufferBuilder public typealias Output = MyGame_Example_Monster public static let descriptor = GRPCCore.MethodDescriptor( service: GRPCCore.ServiceDescriptor(fullyQualifiedService: "MyGame.Example.MonsterStorage"), method: "Retrieve" ) } public enum GetMaxHitPoint: Sendable { public typealias Input = FlatBufferBuilder public typealias Output = MyGame_Example_Stat public static let descriptor = GRPCCore.MethodDescriptor( service: GRPCCore.ServiceDescriptor(fullyQualifiedService: "MyGame.Example.MonsterStorage"), method: "GetMaxHitPoint" ) } public enum GetMinMaxHitPoints: Sendable { public typealias Input = FlatBufferBuilder public typealias Output = MyGame_Example_Stat public static let descriptor = GRPCCore.MethodDescriptor( service: GRPCCore.ServiceDescriptor(fullyQualifiedService: "MyGame.Example.MonsterStorage"), method: "GetMinMaxHitPoints" ) } public static let descriptors: [GRPCCore.MethodDescriptor] = [ Store.descriptor, Retrieve.descriptor, GetMaxHitPoint.descriptor, GetMinMaxHitPoints.descriptor, ] } } @available(macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, visionOS 2.0, *) extension GRPCCore.ServiceDescriptor { public static let MyGame_Example_MonsterStorage = GRPCCore.ServiceDescriptor(fullyQualifiedService: "MyGame.Example.MonsterStorage") } // MARK: MyGame.Example.MonsterStorage Server @available(macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, visionOS 2.0, *) extension MyGame_Example_MonsterStorage { public protocol StreamingServiceProtocol: GRPCCore.RegistrableRPCService { func Store( request: GRPCCore.StreamingServerRequest>, context: GRPCCore.ServerContext ) async throws -> GRPCCore.StreamingServerResponse> func Retrieve( request: GRPCCore.StreamingServerRequest>, context: GRPCCore.ServerContext ) async throws -> GRPCCore.StreamingServerResponse> func GetMaxHitPoint( request: GRPCCore.StreamingServerRequest>, context: GRPCCore.ServerContext ) async throws -> GRPCCore.StreamingServerResponse> func GetMinMaxHitPoints( request: GRPCCore.StreamingServerRequest>, context: GRPCCore.ServerContext ) async throws -> GRPCCore.StreamingServerResponse> } public protocol ServiceProtocol: MyGame_Example_MonsterStorage.StreamingServiceProtocol { func Store( request: GRPCCore.ServerRequest>, context: GRPCCore.ServerContext ) async throws -> GRPCCore.ServerResponse> func Retrieve( request: GRPCCore.ServerRequest>, context: GRPCCore.ServerContext ) async throws -> GRPCCore.StreamingServerResponse> func GetMaxHitPoint( request: GRPCCore.StreamingServerRequest>, context: GRPCCore.ServerContext ) async throws -> GRPCCore.ServerResponse> func GetMinMaxHitPoints( request: GRPCCore.StreamingServerRequest>, context: GRPCCore.ServerContext ) async throws -> GRPCCore.StreamingServerResponse> } public protocol SimpleServiceProtocol: MyGame_Example_MonsterStorage.ServiceProtocol { func Store( request: GRPCMessage, context: GRPCCore.ServerContext ) async throws -> GRPCMessage func Retrieve( request: GRPCMessage, response: GRPCCore.RPCWriter>, context: GRPCCore.ServerContext ) async throws func GetMaxHitPoint( request: GRPCCore.RPCAsyncSequence, any Swift.Error>, context: GRPCCore.ServerContext ) async throws -> GRPCMessage func GetMinMaxHitPoints( 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 MyGame_Example_MonsterStorage.StreamingServiceProtocol { public func registerMethods(with router: inout GRPCCore.RPCRouter) where Transport: GRPCCore.ServerTransport { router.registerHandler( forMethod: MyGame_Example_MonsterStorage.Method.Store.descriptor, deserializer: FlatBuffersMessageDeserializer>(), serializer: FlatBuffersMessageSerializer>(), handler: { request, context in try await self.Store( request: request, context: context ) } ) router.registerHandler( forMethod: MyGame_Example_MonsterStorage.Method.Retrieve.descriptor, deserializer: FlatBuffersMessageDeserializer>(), serializer: FlatBuffersMessageSerializer>(), handler: { request, context in try await self.Retrieve( request: request, context: context ) } ) router.registerHandler( forMethod: MyGame_Example_MonsterStorage.Method.GetMaxHitPoint.descriptor, deserializer: FlatBuffersMessageDeserializer>(), serializer: FlatBuffersMessageSerializer>(), handler: { request, context in try await self.GetMaxHitPoint( request: request, context: context ) } ) router.registerHandler( forMethod: MyGame_Example_MonsterStorage.Method.GetMinMaxHitPoints.descriptor, deserializer: FlatBuffersMessageDeserializer>(), serializer: FlatBuffersMessageSerializer>(), handler: { request, context in try await self.GetMinMaxHitPoints( request: request, context: context ) } ) } } @available(macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, visionOS 2.0, *) extension MyGame_Example_MonsterStorage.ServiceProtocol { public func Store( request: GRPCCore.StreamingServerRequest>, context: GRPCCore.ServerContext ) async throws -> GRPCCore.StreamingServerResponse> { let response = try await self.Store( request: GRPCCore.ServerRequest(stream: request), context: context ) return GRPCCore.StreamingServerResponse(single: response) } public func Retrieve( request: GRPCCore.StreamingServerRequest>, context: GRPCCore.ServerContext ) async throws -> GRPCCore.StreamingServerResponse> { let response = try await self.Retrieve( request: GRPCCore.ServerRequest(stream: request), context: context ) return response } public func GetMaxHitPoint( request: GRPCCore.StreamingServerRequest>, context: GRPCCore.ServerContext ) async throws -> GRPCCore.StreamingServerResponse> { let response = try await self.GetMaxHitPoint( request: request, context: context ) return GRPCCore.StreamingServerResponse(single: response) } } @available(macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, visionOS 2.0, *) extension MyGame_Example_MonsterStorage.SimpleServiceProtocol { public func Store( request: GRPCCore.ServerRequest>, context: GRPCCore.ServerContext ) async throws -> GRPCCore.ServerResponse> { return GRPCCore.ServerResponse>( message: try await self.Store( request: request.message, context: context ), metadata: [:] ) } public func Retrieve( request: GRPCCore.ServerRequest>, context: GRPCCore.ServerContext ) async throws -> GRPCCore.StreamingServerResponse> { return GRPCCore.StreamingServerResponse>( metadata: [:], producer: { writer in try await self.Retrieve( request: request.message, response: writer, context: context ) return [:] } ) } public func GetMaxHitPoint( request: GRPCCore.StreamingServerRequest>, context: GRPCCore.ServerContext ) async throws -> GRPCCore.ServerResponse> { return GRPCCore.ServerResponse>( message: try await self.GetMaxHitPoint( request: request.messages, context: context ), metadata: [:] ) } public func GetMinMaxHitPoints( request: GRPCCore.StreamingServerRequest>, context: GRPCCore.ServerContext ) async throws -> GRPCCore.StreamingServerResponse> { return GRPCCore.StreamingServerResponse>( metadata: [:], producer: { writer in try await self.GetMinMaxHitPoints( request: request.messages, response: writer, context: context ) return [:] } ) } } // MARK: MyGame.Example.MonsterStorage Client @available(macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, visionOS 2.0, *) extension MyGame_Example_MonsterStorage { public protocol ClientProtocol: Sendable { func Store( 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 Retrieve( 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 GetMaxHitPoint( 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 GetMinMaxHitPoints( 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 MyGame_Example_MonsterStorage { public struct Client: ClientProtocol where Transport: GRPCCore.ClientTransport { private let client: GRPCCore.GRPCClient public init(wrapping client: GRPCCore.GRPCClient) { self.client = client } public func Store( 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: MyGame_Example_MonsterStorage.Method.Store.descriptor, serializer: serializer, deserializer: deserializer, options: options, onResponse: handleResponse ) } public func Retrieve( 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: MyGame_Example_MonsterStorage.Method.Retrieve.descriptor, serializer: serializer, deserializer: deserializer, options: options, onResponse: handleResponse ) } public func GetMaxHitPoint( 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: MyGame_Example_MonsterStorage.Method.GetMaxHitPoint.descriptor, serializer: serializer, deserializer: deserializer, options: options, onResponse: handleResponse ) } public func GetMinMaxHitPoints( 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: MyGame_Example_MonsterStorage.Method.GetMinMaxHitPoints.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 MyGame_Example_MonsterStorage.ClientProtocol { public func Store( 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.Store( request: request, serializer: FlatBuffersMessageSerializer>(), deserializer: FlatBuffersMessageDeserializer>(), options: options, onResponse: handleResponse ) } public func Retrieve( 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.Retrieve( request: request, serializer: FlatBuffersMessageSerializer>(), deserializer: FlatBuffersMessageDeserializer>(), options: options, onResponse: handleResponse ) } public func GetMaxHitPoint( 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.GetMaxHitPoint( request: request, serializer: FlatBuffersMessageSerializer>(), deserializer: FlatBuffersMessageDeserializer>(), options: options, onResponse: handleResponse ) } public func GetMinMaxHitPoints( 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.GetMinMaxHitPoints( 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 MyGame_Example_MonsterStorage.ClientProtocol { public func Store( _ 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.Store( request: request, options: options, onResponse: handleResponse ) } public func Retrieve( _ 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.Retrieve( request: request, options: options, onResponse: handleResponse ) } public func GetMaxHitPoint( 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.GetMaxHitPoint( request: request, options: options, onResponse: handleResponse ) } public func GetMinMaxHitPoints( 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.GetMinMaxHitPoints( request: request, options: options, onResponse: handleResponse ) } } #endif