class Temporalio::Client::Connection::Service
Base class for raw gRPC services.
def initialize(connection, service)
def initialize(connection, service) @connection = connection @service = service end
def invoke_rpc(rpc:, request_class:, response_class:, request:, rpc_options:)
def invoke_rpc(rpc:, request_class:, response_class:, request:, rpc_options:) raise 'Invalid request type' unless request.is_a?(request_class) begin @connection._core_client._invoke_rpc( service: @service, rpc:, request:, response_class:, rpc_options: ) rescue Internal::Bridge::Client::RPCFailure => e if e.code == Error::RPCError::Code::CANCELED && e.message == '<__user_canceled__>' raise Error::CanceledError, 'User canceled' end raise Error::RPCError.new(e.message, code: e.code, raw_grpc_status: e.details) end end