mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-16 17:22:21 +00:00
Adding support for windows requires the code generations to add a compiler statement to completely ignore GRPC code generation on windows Cleanup the project to use the main Package.swift to run tests instead of having it separate and includes the imports for GRPC within it. Adds windows swift ci
211 lines
8.9 KiB
Swift
211 lines
8.9 KiB
Swift
// 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)
|
|
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 {
|
|
withUnsafeReadableBytes { buffer.writeBytes($0) }
|
|
}
|
|
}
|
|
extension Message: GRPCFlatBufPayload {}
|
|
|
|
/// Usage: instantiate MyGame_Example_MonsterStorageServiceClient, then call methods of this protocol to make API calls.
|
|
public protocol MyGame_Example_MonsterStorageClientProtocol: GRPCClient {
|
|
|
|
var serviceName: String { get }
|
|
|
|
var interceptors: MyGame_Example_MonsterStorageClientInterceptorFactoryProtocol? { get }
|
|
|
|
func Store(
|
|
_ request: Message<MyGame_Example_Monster>
|
|
, callOptions: CallOptions?
|
|
) -> UnaryCall<Message<MyGame_Example_Monster>, Message<MyGame_Example_Stat>>
|
|
|
|
func Retrieve(
|
|
_ request: Message<MyGame_Example_Stat>
|
|
, callOptions: CallOptions?,
|
|
handler: @escaping (Message<MyGame_Example_Monster>) -> Void
|
|
) -> ServerStreamingCall<Message<MyGame_Example_Stat>, Message<MyGame_Example_Monster>>
|
|
|
|
func GetMaxHitPoint(
|
|
callOptions: CallOptions?
|
|
) -> ClientStreamingCall<Message<MyGame_Example_Monster>, Message<MyGame_Example_Stat>>
|
|
|
|
func GetMinMaxHitPoints(
|
|
callOptions: CallOptions?,
|
|
handler: @escaping (Message<MyGame_Example_Stat> ) -> Void
|
|
) -> BidirectionalStreamingCall<Message<MyGame_Example_Monster>, Message<MyGame_Example_Stat>>
|
|
|
|
}
|
|
|
|
extension MyGame_Example_MonsterStorageClientProtocol {
|
|
|
|
public var serviceName: String { "MyGame.Example.MonsterStorage" }
|
|
|
|
public func Store(
|
|
_ request: Message<MyGame_Example_Monster>
|
|
, callOptions: CallOptions? = nil
|
|
) -> UnaryCall<Message<MyGame_Example_Monster>, Message<MyGame_Example_Stat>> {
|
|
return self.makeUnaryCall(
|
|
path: "/MyGame.Example.MonsterStorage/Store",
|
|
request: request,
|
|
callOptions: callOptions ?? self.defaultCallOptions,
|
|
interceptors: self.interceptors?.makeStoreInterceptors() ?? []
|
|
)
|
|
}
|
|
|
|
public func Retrieve(
|
|
_ request: Message<MyGame_Example_Stat>
|
|
, callOptions: CallOptions? = nil,
|
|
handler: @escaping (Message<MyGame_Example_Monster>) -> Void
|
|
) -> ServerStreamingCall<Message<MyGame_Example_Stat>, Message<MyGame_Example_Monster>> {
|
|
return self.makeServerStreamingCall(
|
|
path: "/MyGame.Example.MonsterStorage/Retrieve",
|
|
request: request,
|
|
callOptions: callOptions ?? self.defaultCallOptions,
|
|
interceptors: self.interceptors?.makeRetrieveInterceptors() ?? [],
|
|
handler: handler
|
|
)
|
|
}
|
|
|
|
public func GetMaxHitPoint(
|
|
callOptions: CallOptions? = nil
|
|
) -> ClientStreamingCall<Message<MyGame_Example_Monster>, Message<MyGame_Example_Stat>> {
|
|
return self.makeClientStreamingCall(
|
|
path: "/MyGame.Example.MonsterStorage/GetMaxHitPoint",
|
|
callOptions: callOptions ?? self.defaultCallOptions,
|
|
interceptors: self.interceptors?.makeGetMaxHitPointInterceptors() ?? []
|
|
)
|
|
}
|
|
|
|
public func GetMinMaxHitPoints(
|
|
callOptions: CallOptions? = nil,
|
|
handler: @escaping (Message<MyGame_Example_Stat> ) -> Void
|
|
) -> BidirectionalStreamingCall<Message<MyGame_Example_Monster>, Message<MyGame_Example_Stat>> {
|
|
return self.makeBidirectionalStreamingCall(
|
|
path: "/MyGame.Example.MonsterStorage/GetMinMaxHitPoints",
|
|
callOptions: callOptions ?? self.defaultCallOptions,
|
|
interceptors: self.interceptors?.makeGetMinMaxHitPointsInterceptors() ?? [],
|
|
handler: handler
|
|
)
|
|
}
|
|
}
|
|
|
|
public protocol MyGame_Example_MonsterStorageClientInterceptorFactoryProtocol {
|
|
/// - Returns: Interceptors to use when invoking 'Store'.
|
|
func makeStoreInterceptors() -> [ClientInterceptor<Message<MyGame_Example_Monster>, Message<MyGame_Example_Stat>>]
|
|
|
|
/// - Returns: Interceptors to use when invoking 'Retrieve'.
|
|
func makeRetrieveInterceptors() -> [ClientInterceptor<Message<MyGame_Example_Stat>, Message<MyGame_Example_Monster>>]
|
|
|
|
/// - Returns: Interceptors to use when invoking 'GetMaxHitPoint'.
|
|
func makeGetMaxHitPointInterceptors() -> [ClientInterceptor<Message<MyGame_Example_Monster>, Message<MyGame_Example_Stat>>]
|
|
|
|
/// - Returns: Interceptors to use when invoking 'GetMinMaxHitPoints'.
|
|
func makeGetMinMaxHitPointsInterceptors() -> [ClientInterceptor<Message<MyGame_Example_Monster>, Message<MyGame_Example_Stat>>]
|
|
|
|
}
|
|
|
|
public final class MyGame_Example_MonsterStorageServiceClient: MyGame_Example_MonsterStorageClientProtocol {
|
|
public let channel: GRPCChannel
|
|
public var defaultCallOptions: CallOptions
|
|
public var interceptors: MyGame_Example_MonsterStorageClientInterceptorFactoryProtocol?
|
|
|
|
public init(
|
|
channel: GRPCChannel,
|
|
defaultCallOptions: CallOptions = CallOptions(),
|
|
interceptors: MyGame_Example_MonsterStorageClientInterceptorFactoryProtocol? = nil
|
|
) {
|
|
self.channel = channel
|
|
self.defaultCallOptions = defaultCallOptions
|
|
self.interceptors = interceptors
|
|
}
|
|
}
|
|
|
|
public protocol MyGame_Example_MonsterStorageProvider: CallHandlerProvider {
|
|
var interceptors: MyGame_Example_MonsterStorageServerInterceptorFactoryProtocol? { get }
|
|
func Store(request: Message<MyGame_Example_Monster>, context: StatusOnlyCallContext) -> EventLoopFuture<Message<MyGame_Example_Stat>>
|
|
func Retrieve(request: Message<MyGame_Example_Stat>, context: StreamingResponseCallContext<Message<MyGame_Example_Monster>>) -> EventLoopFuture<GRPCStatus>
|
|
func GetMaxHitPoint(context: UnaryResponseCallContext<Message<MyGame_Example_Stat>>) -> EventLoopFuture<(StreamEvent<Message<MyGame_Example_Monster>>) -> Void>
|
|
func GetMinMaxHitPoints(context: StreamingResponseCallContext<Message<MyGame_Example_Stat>>) -> EventLoopFuture<(StreamEvent<Message<MyGame_Example_Monster>>) -> Void>
|
|
}
|
|
|
|
public extension MyGame_Example_MonsterStorageProvider {
|
|
|
|
var serviceName: Substring { return "MyGame.Example.MonsterStorage" }
|
|
|
|
func handle(method name: Substring, context: CallHandlerContext) -> GRPCServerHandlerProtocol? {
|
|
switch name {
|
|
case "Store":
|
|
return UnaryServerHandler(
|
|
context: context,
|
|
requestDeserializer: GRPCPayloadDeserializer<Message<MyGame_Example_Monster>>(),
|
|
responseSerializer: GRPCPayloadSerializer<Message<MyGame_Example_Stat>>(),
|
|
interceptors: self.interceptors?.makeStoreInterceptors() ?? [],
|
|
userFunction: self.Store(request:context:))
|
|
|
|
case "Retrieve":
|
|
return ServerStreamingServerHandler(
|
|
context: context,
|
|
requestDeserializer: GRPCPayloadDeserializer<Message<MyGame_Example_Stat>>(),
|
|
responseSerializer: GRPCPayloadSerializer<Message<MyGame_Example_Monster>>(),
|
|
interceptors: self.interceptors?.makeRetrieveInterceptors() ?? [],
|
|
userFunction: self.Retrieve(request:context:))
|
|
|
|
case "GetMaxHitPoint":
|
|
return ClientStreamingServerHandler(
|
|
context: context,
|
|
requestDeserializer: GRPCPayloadDeserializer<Message<MyGame_Example_Monster>>(),
|
|
responseSerializer: GRPCPayloadSerializer<Message<MyGame_Example_Stat>>(),
|
|
interceptors: self.interceptors?.makeGetMaxHitPointInterceptors() ?? [],
|
|
observerFactory: self.GetMaxHitPoint(context:))
|
|
|
|
case "GetMinMaxHitPoints":
|
|
return BidirectionalStreamingServerHandler(
|
|
context: context,
|
|
requestDeserializer: GRPCPayloadDeserializer<Message<MyGame_Example_Monster>>(),
|
|
responseSerializer: GRPCPayloadSerializer<Message<MyGame_Example_Stat>>(),
|
|
interceptors: self.interceptors?.makeGetMinMaxHitPointsInterceptors() ?? [],
|
|
observerFactory: self.GetMinMaxHitPoints(context:))
|
|
|
|
default: return nil;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
public protocol MyGame_Example_MonsterStorageServerInterceptorFactoryProtocol {
|
|
/// - Returns: Interceptors to use when handling 'Store'.
|
|
/// Defaults to calling `self.makeInterceptors()`.
|
|
func makeStoreInterceptors() -> [ServerInterceptor<Message<MyGame_Example_Monster>, Message<MyGame_Example_Stat>>]
|
|
|
|
/// - Returns: Interceptors to use when handling 'Retrieve'.
|
|
/// Defaults to calling `self.makeInterceptors()`.
|
|
func makeRetrieveInterceptors() -> [ServerInterceptor<Message<MyGame_Example_Stat>, Message<MyGame_Example_Monster>>]
|
|
|
|
/// - Returns: Interceptors to use when handling 'GetMaxHitPoint'.
|
|
/// Defaults to calling `self.makeInterceptors()`.
|
|
func makeGetMaxHitPointInterceptors() -> [ServerInterceptor<Message<MyGame_Example_Monster>, Message<MyGame_Example_Stat>>]
|
|
|
|
/// - Returns: Interceptors to use when handling 'GetMinMaxHitPoints'.
|
|
/// Defaults to calling `self.makeInterceptors()`.
|
|
func makeGetMinMaxHitPointsInterceptors() -> [ServerInterceptor<Message<MyGame_Example_Monster>, Message<MyGame_Example_Stat>>]
|
|
|
|
}
|
|
#endif
|
|
|