Class: Temporalio::Client::Connection::Service
- Inherits:
-
Object
- Object
- Temporalio::Client::Connection::Service
- Defined in:
- lib/temporalio/client/connection/service.rb
Overview
Base class for raw gRPC services.
Direct Known Subclasses
Instance Method Summary collapse
Instance Method Details
#invoke_rpc(rpc:, request_class:, response_class:, request:, rpc_options:) ⇒ Object (protected)
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/temporalio/client/connection/service.rb', line 20 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. == '<__user_canceled__>' raise Error::CanceledError, 'User canceled' end raise Error::RPCError.new(e., code: e.code, raw_grpc_status: e.details) end end |