All Downloads are FREE. Search and download functionalities are using the official Maven repository.

games.mythical.saga.sdk.proto.api.metadata.RpcGrpcKt.kt Maven / Gradle / Ivy

There is a newer version: 1.1.30
Show newest version
package games.mythical.saga.sdk.proto.api.metadata

import games.mythical.saga.sdk.proto.api.metadata.MetadataServiceGrpc.getServiceDescriptor
import games.mythical.saga.sdk.proto.common.ReceivedResponse
import io.grpc.CallOptions
import io.grpc.CallOptions.DEFAULT
import io.grpc.Channel
import io.grpc.Metadata
import io.grpc.MethodDescriptor
import io.grpc.ServerServiceDefinition
import io.grpc.ServerServiceDefinition.builder
import io.grpc.ServiceDescriptor
import io.grpc.Status.UNIMPLEMENTED
import io.grpc.StatusException
import io.grpc.kotlin.AbstractCoroutineServerImpl
import io.grpc.kotlin.AbstractCoroutineStub
import io.grpc.kotlin.ClientCalls.unaryRpc
import io.grpc.kotlin.ServerCalls.unaryServerMethodDefinition
import io.grpc.kotlin.StubFor
import kotlin.String
import kotlin.coroutines.CoroutineContext
import kotlin.coroutines.EmptyCoroutineContext
import kotlin.jvm.JvmOverloads
import kotlin.jvm.JvmStatic

/**
 * Holder for Kotlin coroutine-based client and server APIs for saga.api.metadata.MetadataService.
 */
object MetadataServiceGrpcKt {
  const val SERVICE_NAME: String = MetadataServiceGrpc.SERVICE_NAME

  @JvmStatic
  val serviceDescriptor: ServiceDescriptor
    get() = MetadataServiceGrpc.getServiceDescriptor()

  val updateItemMetadataMethod: MethodDescriptor
    @JvmStatic
    get() = MetadataServiceGrpc.getUpdateItemMetadataMethod()

  /**
   * A stub for issuing RPCs to a(n) saga.api.metadata.MetadataService service as suspending
   * coroutines.
   */
  @StubFor(MetadataServiceGrpc::class)
  class MetadataServiceCoroutineStub @JvmOverloads constructor(
    channel: Channel,
    callOptions: CallOptions = DEFAULT
  ) : AbstractCoroutineStub(channel, callOptions) {
    override fun build(channel: Channel, callOptions: CallOptions): MetadataServiceCoroutineStub =
        MetadataServiceCoroutineStub(channel, callOptions)

    /**
     * Executes this RPC and returns the response message, suspending until the RPC completes
     * with [`Status.OK`][io.grpc.Status].  If the RPC completes with another status, a
     * corresponding
     * [StatusException] is thrown.  If this coroutine is cancelled, the RPC is also cancelled
     * with the corresponding exception as a cause.
     *
     * @param request The request message to send to the server.
     *
     * @param headers Metadata to attach to the request.  Most users will not need this.
     *
     * @return The single response from the server.
     */
    suspend fun updateItemMetadata(request: UpdateItemMetadataRequest, headers: Metadata =
        Metadata()): ReceivedResponse = unaryRpc(
      channel,
      MetadataServiceGrpc.getUpdateItemMetadataMethod(),
      request,
      callOptions,
      headers
    )}

  /**
   * Skeletal implementation of the saga.api.metadata.MetadataService service based on Kotlin
   * coroutines.
   */
  abstract class MetadataServiceCoroutineImplBase(
    coroutineContext: CoroutineContext = EmptyCoroutineContext
  ) : AbstractCoroutineServerImpl(coroutineContext) {
    /**
     * Returns the response to an RPC for saga.api.metadata.MetadataService.UpdateItemMetadata.
     *
     * If this method fails with a [StatusException], the RPC will fail with the corresponding
     * [io.grpc.Status].  If this method fails with a [java.util.concurrent.CancellationException],
     * the RPC will fail
     * with status `Status.CANCELLED`.  If this method fails for any other reason, the RPC will
     * fail with `Status.UNKNOWN` with the exception as a cause.
     *
     * @param request The request from the client.
     */
    open suspend fun updateItemMetadata(request: UpdateItemMetadataRequest): ReceivedResponse =
        throw
        StatusException(UNIMPLEMENTED.withDescription("Method saga.api.metadata.MetadataService.UpdateItemMetadata is unimplemented"))

    final override fun bindService(): ServerServiceDefinition = builder(getServiceDescriptor())
      .addMethod(unaryServerMethodDefinition(
      context = this.context,
      descriptor = MetadataServiceGrpc.getUpdateItemMetadataMethod(),
      implementation = ::updateItemMetadata
    )).build()
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy