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

org.plasmalabs.indexer.services.BlockServiceFs2Grpc.scala Maven / Gradle / Ivy

There is a newer version: 0.1.5
Show newest version
package org.plasmalabs.indexer.services

import _root_.cats.syntax.all._

trait BlockServiceFs2Grpc[F[_], A] {
  def getBlockById(request: org.plasmalabs.indexer.services.GetBlockByIdRequest, ctx: A): F[org.plasmalabs.indexer.services.BlockResponse]
  def getBlockByHeight(request: org.plasmalabs.indexer.services.GetBlockByHeightRequest, ctx: A): F[org.plasmalabs.indexer.services.BlockResponse]
  def getBlockByDepth(request: org.plasmalabs.indexer.services.GetBlockByDepthRequest, ctx: A): F[org.plasmalabs.indexer.services.BlockResponse]
}

object BlockServiceFs2Grpc extends _root_.fs2.grpc.GeneratedCompanion[BlockServiceFs2Grpc] {
  
  def mkClient[F[_]: _root_.cats.effect.Async, A](dispatcher: _root_.cats.effect.std.Dispatcher[F], channel: _root_.io.grpc.Channel, mkMetadata: A => F[_root_.io.grpc.Metadata], clientOptions: _root_.fs2.grpc.client.ClientOptions): BlockServiceFs2Grpc[F, A] = new BlockServiceFs2Grpc[F, A] {
    def getBlockById(request: org.plasmalabs.indexer.services.GetBlockByIdRequest, ctx: A): F[org.plasmalabs.indexer.services.BlockResponse] = {
      mkMetadata(ctx).flatMap { m =>
        _root_.fs2.grpc.client.Fs2ClientCall[F](channel, org.plasmalabs.indexer.services.BlockServiceGrpc.METHOD_GET_BLOCK_BY_ID, dispatcher, clientOptions).flatMap(_.unaryToUnaryCall(request, m))
      }
    }
    def getBlockByHeight(request: org.plasmalabs.indexer.services.GetBlockByHeightRequest, ctx: A): F[org.plasmalabs.indexer.services.BlockResponse] = {
      mkMetadata(ctx).flatMap { m =>
        _root_.fs2.grpc.client.Fs2ClientCall[F](channel, org.plasmalabs.indexer.services.BlockServiceGrpc.METHOD_GET_BLOCK_BY_HEIGHT, dispatcher, clientOptions).flatMap(_.unaryToUnaryCall(request, m))
      }
    }
    def getBlockByDepth(request: org.plasmalabs.indexer.services.GetBlockByDepthRequest, ctx: A): F[org.plasmalabs.indexer.services.BlockResponse] = {
      mkMetadata(ctx).flatMap { m =>
        _root_.fs2.grpc.client.Fs2ClientCall[F](channel, org.plasmalabs.indexer.services.BlockServiceGrpc.METHOD_GET_BLOCK_BY_DEPTH, dispatcher, clientOptions).flatMap(_.unaryToUnaryCall(request, m))
      }
    }
  }
  
  protected def serviceBinding[F[_]: _root_.cats.effect.Async, A](dispatcher: _root_.cats.effect.std.Dispatcher[F], serviceImpl: BlockServiceFs2Grpc[F, A], mkCtx: _root_.io.grpc.Metadata => F[A], serverOptions: _root_.fs2.grpc.server.ServerOptions): _root_.io.grpc.ServerServiceDefinition = {
    _root_.io.grpc.ServerServiceDefinition
      .builder(org.plasmalabs.indexer.services.BlockServiceGrpc.SERVICE)
      .addMethod(org.plasmalabs.indexer.services.BlockServiceGrpc.METHOD_GET_BLOCK_BY_ID, _root_.fs2.grpc.server.Fs2ServerCallHandler[F](dispatcher, serverOptions).unaryToUnaryCall[org.plasmalabs.indexer.services.GetBlockByIdRequest, org.plasmalabs.indexer.services.BlockResponse]((r, m) => mkCtx(m).flatMap(serviceImpl.getBlockById(r, _))))
      .addMethod(org.plasmalabs.indexer.services.BlockServiceGrpc.METHOD_GET_BLOCK_BY_HEIGHT, _root_.fs2.grpc.server.Fs2ServerCallHandler[F](dispatcher, serverOptions).unaryToUnaryCall[org.plasmalabs.indexer.services.GetBlockByHeightRequest, org.plasmalabs.indexer.services.BlockResponse]((r, m) => mkCtx(m).flatMap(serviceImpl.getBlockByHeight(r, _))))
      .addMethod(org.plasmalabs.indexer.services.BlockServiceGrpc.METHOD_GET_BLOCK_BY_DEPTH, _root_.fs2.grpc.server.Fs2ServerCallHandler[F](dispatcher, serverOptions).unaryToUnaryCall[org.plasmalabs.indexer.services.GetBlockByDepthRequest, org.plasmalabs.indexer.services.BlockResponse]((r, m) => mkCtx(m).flatMap(serviceImpl.getBlockByDepth(r, _))))
      .build()
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy