// 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 import Foundation import GRPC import NIO import NIOHTTP1 import FlatBuffers public protocol GRPCFlatBufPayload: GRPCPayload, FlatBufferGRPCMessage {} public extension GRPCFlatBufPayload { init(serializedByteBuffer: inout NIO.ByteBuffer) throws { self.init(byteBuffer: FlatBuffers.ByteBuffer(contiguousBytes: serializedByteBuffer.readableBytesView, count: serializedByteBuffer.readableBytes)) } func serialize(into buffer: inout NIO.ByteBuffer) throws { let buf = UnsafeRawBufferPointer(start: self.rawPointer, count: Int(self.size)) buffer.writeBytes(buf) } } extension Message: GRPCFlatBufPayload {} /// Usage: instantiate MonsterStorageServiceClient, then call methods of this protocol to make API calls. public protocol MonsterStorageService { func Store(_ request: Message, callOptions: CallOptions?) -> UnaryCall,Message> func Retrieve(_ request: Message, callOptions: CallOptions?, handler: @escaping (Message) -> Void) -> ServerStreamingCall, Message> func GetMaxHitPoint(callOptions: CallOptions?) -> ClientStreamingCall,Message> func GetMinMaxHitPoints(callOptions: CallOptions?, handler: @escaping (Message) -> Void) -> BidirectionalStreamingCall, Message> } public final class MonsterStorageServiceClient: GRPCClient, MonsterStorageService { public let channel: GRPCChannel public var defaultCallOptions: CallOptions public init(channel: GRPCChannel, defaultCallOptions: CallOptions = CallOptions()) { self.channel = channel self.defaultCallOptions = defaultCallOptions } public func Store(_ request: Message, callOptions: CallOptions? = nil) -> UnaryCall,Message> { return self.makeUnaryCall(path: "/MyGame.Example.MonsterStorage/Store", request: request, callOptions: callOptions ?? self.defaultCallOptions) } public func Retrieve(_ request: Message, callOptions: CallOptions? = nil, handler: @escaping (Message) -> Void) -> ServerStreamingCall, Message> { return self.makeServerStreamingCall(path: "/MyGame.Example.MonsterStorage/Retrieve", request: request, callOptions: callOptions ?? self.defaultCallOptions, handler: handler) } public func GetMaxHitPoint(callOptions: CallOptions? = nil) -> ClientStreamingCall,Message> { return self.makeClientStreamingCall(path: "/MyGame.Example.MonsterStorage/GetMaxHitPoint", callOptions: callOptions ?? self.defaultCallOptions) } public func GetMinMaxHitPoints(callOptions: CallOptions? = nil, handler: @escaping (Message) -> Void) -> BidirectionalStreamingCall, Message> { return self.makeBidirectionalStreamingCall(path: "/MyGame.Example.MonsterStorage/GetMinMaxHitPoints", callOptions: callOptions ?? self.defaultCallOptions, handler: handler) } } public protocol MonsterStorageProvider: CallHandlerProvider { func Store(_ request: Message, context: StatusOnlyCallContext) -> EventLoopFuture> func Retrieve(request: Message, context: StreamingResponseCallContext>) -> EventLoopFuture func GetMaxHitPoint(context: UnaryResponseCallContext>) -> EventLoopFuture<(StreamEvent>) -> Void> func GetMinMaxHitPoints(context: StreamingResponseCallContext>) -> EventLoopFuture<(StreamEvent>) -> Void> } public extension MonsterStorageProvider { var serviceName: String { return "MyGame.Example.MonsterStorage" } func handleMethod(_ methodName: String, callHandlerContext: CallHandlerContext) -> GRPCCallHandler? { switch methodName { case "Store": return UnaryCallHandler(callHandlerContext: callHandlerContext) { context in return { request in self.Store(request, context: context) } } case "Retrieve": return ServerStreamingCallHandler(callHandlerContext: callHandlerContext) { context in return { request in self.Retrieve(request: request, context: context) } } case "GetMaxHitPoint": return ClientStreamingCallHandler(callHandlerContext: callHandlerContext) { context in return { request in self.GetMaxHitPoint(request: request, context: context) } } case "GetMinMaxHitPoints": return BidirectionalStreamingCallHandler(callHandlerContext: callHandlerContext) { context in return { request in self.GetMinMaxHitPoints(request: request, context: context) } } default: return nil; } } }