temporalio 0.2.0-arm64-darwin

Sign up to get free protection for your applications and to get access to all the features.
Files changed (130) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +23 -0
  3. data/Rakefile +387 -0
  4. data/lib/temporalio/activity/complete_async_error.rb +11 -0
  5. data/lib/temporalio/activity/context.rb +107 -0
  6. data/lib/temporalio/activity/definition.rb +77 -0
  7. data/lib/temporalio/activity/info.rb +63 -0
  8. data/lib/temporalio/activity.rb +69 -0
  9. data/lib/temporalio/api/batch/v1/message.rb +31 -0
  10. data/lib/temporalio/api/cloud/cloudservice/v1/request_response.rb +93 -0
  11. data/lib/temporalio/api/cloud/cloudservice/v1/service.rb +25 -0
  12. data/lib/temporalio/api/cloud/cloudservice.rb +3 -0
  13. data/lib/temporalio/api/cloud/identity/v1/message.rb +36 -0
  14. data/lib/temporalio/api/cloud/namespace/v1/message.rb +35 -0
  15. data/lib/temporalio/api/cloud/operation/v1/message.rb +27 -0
  16. data/lib/temporalio/api/cloud/region/v1/message.rb +23 -0
  17. data/lib/temporalio/api/command/v1/message.rb +46 -0
  18. data/lib/temporalio/api/common/v1/grpc_status.rb +23 -0
  19. data/lib/temporalio/api/common/v1/message.rb +41 -0
  20. data/lib/temporalio/api/enums/v1/batch_operation.rb +22 -0
  21. data/lib/temporalio/api/enums/v1/command_type.rb +21 -0
  22. data/lib/temporalio/api/enums/v1/common.rb +26 -0
  23. data/lib/temporalio/api/enums/v1/event_type.rb +21 -0
  24. data/lib/temporalio/api/enums/v1/failed_cause.rb +26 -0
  25. data/lib/temporalio/api/enums/v1/namespace.rb +23 -0
  26. data/lib/temporalio/api/enums/v1/query.rb +22 -0
  27. data/lib/temporalio/api/enums/v1/reset.rb +23 -0
  28. data/lib/temporalio/api/enums/v1/schedule.rb +21 -0
  29. data/lib/temporalio/api/enums/v1/task_queue.rb +25 -0
  30. data/lib/temporalio/api/enums/v1/update.rb +22 -0
  31. data/lib/temporalio/api/enums/v1/workflow.rb +30 -0
  32. data/lib/temporalio/api/errordetails/v1/message.rb +42 -0
  33. data/lib/temporalio/api/export/v1/message.rb +24 -0
  34. data/lib/temporalio/api/failure/v1/message.rb +35 -0
  35. data/lib/temporalio/api/filter/v1/message.rb +27 -0
  36. data/lib/temporalio/api/history/v1/message.rb +90 -0
  37. data/lib/temporalio/api/namespace/v1/message.rb +31 -0
  38. data/lib/temporalio/api/nexus/v1/message.rb +40 -0
  39. data/lib/temporalio/api/operatorservice/v1/request_response.rb +49 -0
  40. data/lib/temporalio/api/operatorservice/v1/service.rb +23 -0
  41. data/lib/temporalio/api/operatorservice.rb +3 -0
  42. data/lib/temporalio/api/protocol/v1/message.rb +23 -0
  43. data/lib/temporalio/api/query/v1/message.rb +27 -0
  44. data/lib/temporalio/api/replication/v1/message.rb +26 -0
  45. data/lib/temporalio/api/schedule/v1/message.rb +42 -0
  46. data/lib/temporalio/api/sdk/v1/enhanced_stack_trace.rb +25 -0
  47. data/lib/temporalio/api/sdk/v1/task_complete_metadata.rb +21 -0
  48. data/lib/temporalio/api/sdk/v1/user_metadata.rb +23 -0
  49. data/lib/temporalio/api/sdk/v1/workflow_metadata.rb +23 -0
  50. data/lib/temporalio/api/taskqueue/v1/message.rb +45 -0
  51. data/lib/temporalio/api/update/v1/message.rb +33 -0
  52. data/lib/temporalio/api/version/v1/message.rb +26 -0
  53. data/lib/temporalio/api/workflow/v1/message.rb +43 -0
  54. data/lib/temporalio/api/workflowservice/v1/request_response.rb +189 -0
  55. data/lib/temporalio/api/workflowservice/v1/service.rb +23 -0
  56. data/lib/temporalio/api/workflowservice.rb +3 -0
  57. data/lib/temporalio/api.rb +13 -0
  58. data/lib/temporalio/cancellation.rb +150 -0
  59. data/lib/temporalio/client/activity_id_reference.rb +32 -0
  60. data/lib/temporalio/client/async_activity_handle.rb +110 -0
  61. data/lib/temporalio/client/connection/cloud_service.rb +648 -0
  62. data/lib/temporalio/client/connection/operator_service.rb +249 -0
  63. data/lib/temporalio/client/connection/service.rb +41 -0
  64. data/lib/temporalio/client/connection/workflow_service.rb +1218 -0
  65. data/lib/temporalio/client/connection.rb +270 -0
  66. data/lib/temporalio/client/interceptor.rb +316 -0
  67. data/lib/temporalio/client/workflow_execution.rb +103 -0
  68. data/lib/temporalio/client/workflow_execution_count.rb +36 -0
  69. data/lib/temporalio/client/workflow_execution_status.rb +18 -0
  70. data/lib/temporalio/client/workflow_handle.rb +446 -0
  71. data/lib/temporalio/client/workflow_query_reject_condition.rb +14 -0
  72. data/lib/temporalio/client/workflow_update_handle.rb +67 -0
  73. data/lib/temporalio/client/workflow_update_wait_stage.rb +17 -0
  74. data/lib/temporalio/client.rb +404 -0
  75. data/lib/temporalio/common_enums.rb +24 -0
  76. data/lib/temporalio/converters/data_converter.rb +102 -0
  77. data/lib/temporalio/converters/failure_converter.rb +200 -0
  78. data/lib/temporalio/converters/payload_codec.rb +26 -0
  79. data/lib/temporalio/converters/payload_converter/binary_null.rb +34 -0
  80. data/lib/temporalio/converters/payload_converter/binary_plain.rb +35 -0
  81. data/lib/temporalio/converters/payload_converter/binary_protobuf.rb +42 -0
  82. data/lib/temporalio/converters/payload_converter/composite.rb +62 -0
  83. data/lib/temporalio/converters/payload_converter/encoding.rb +35 -0
  84. data/lib/temporalio/converters/payload_converter/json_plain.rb +44 -0
  85. data/lib/temporalio/converters/payload_converter/json_protobuf.rb +41 -0
  86. data/lib/temporalio/converters/payload_converter.rb +73 -0
  87. data/lib/temporalio/converters.rb +9 -0
  88. data/lib/temporalio/error/failure.rb +219 -0
  89. data/lib/temporalio/error.rb +147 -0
  90. data/lib/temporalio/internal/bridge/3.1/temporalio_bridge.bundle +0 -0
  91. data/lib/temporalio/internal/bridge/3.2/temporalio_bridge.bundle +0 -0
  92. data/lib/temporalio/internal/bridge/3.3/temporalio_bridge.bundle +0 -0
  93. data/lib/temporalio/internal/bridge/api/activity_result/activity_result.rb +34 -0
  94. data/lib/temporalio/internal/bridge/api/activity_task/activity_task.rb +31 -0
  95. data/lib/temporalio/internal/bridge/api/child_workflow/child_workflow.rb +33 -0
  96. data/lib/temporalio/internal/bridge/api/common/common.rb +26 -0
  97. data/lib/temporalio/internal/bridge/api/core_interface.rb +36 -0
  98. data/lib/temporalio/internal/bridge/api/external_data/external_data.rb +27 -0
  99. data/lib/temporalio/internal/bridge/api/workflow_activation/workflow_activation.rb +52 -0
  100. data/lib/temporalio/internal/bridge/api/workflow_commands/workflow_commands.rb +54 -0
  101. data/lib/temporalio/internal/bridge/api/workflow_completion/workflow_completion.rb +30 -0
  102. data/lib/temporalio/internal/bridge/api.rb +3 -0
  103. data/lib/temporalio/internal/bridge/client.rb +90 -0
  104. data/lib/temporalio/internal/bridge/runtime.rb +53 -0
  105. data/lib/temporalio/internal/bridge/testing.rb +46 -0
  106. data/lib/temporalio/internal/bridge/worker.rb +83 -0
  107. data/lib/temporalio/internal/bridge.rb +36 -0
  108. data/lib/temporalio/internal/client/implementation.rb +525 -0
  109. data/lib/temporalio/internal/proto_utils.rb +54 -0
  110. data/lib/temporalio/internal/worker/activity_worker.rb +345 -0
  111. data/lib/temporalio/internal/worker/multi_runner.rb +169 -0
  112. data/lib/temporalio/internal.rb +7 -0
  113. data/lib/temporalio/retry_policy.rb +51 -0
  114. data/lib/temporalio/runtime.rb +271 -0
  115. data/lib/temporalio/scoped_logger.rb +96 -0
  116. data/lib/temporalio/search_attributes.rb +300 -0
  117. data/lib/temporalio/testing/activity_environment.rb +132 -0
  118. data/lib/temporalio/testing/workflow_environment.rb +137 -0
  119. data/lib/temporalio/testing.rb +10 -0
  120. data/lib/temporalio/version.rb +5 -0
  121. data/lib/temporalio/worker/activity_executor/fiber.rb +49 -0
  122. data/lib/temporalio/worker/activity_executor/thread_pool.rb +254 -0
  123. data/lib/temporalio/worker/activity_executor.rb +55 -0
  124. data/lib/temporalio/worker/interceptor.rb +88 -0
  125. data/lib/temporalio/worker/tuner.rb +151 -0
  126. data/lib/temporalio/worker.rb +426 -0
  127. data/lib/temporalio/workflow_history.rb +22 -0
  128. data/lib/temporalio.rb +7 -0
  129. data/temporalio.gemspec +28 -0
  130. metadata +191 -0
@@ -0,0 +1,249 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated code. DO NOT EDIT!
4
+
5
+ require 'temporalio/api'
6
+ require 'temporalio/client/connection/service'
7
+ require 'temporalio/internal/bridge/client'
8
+
9
+ module Temporalio
10
+ class Client
11
+ class Connection
12
+ # OperatorService API.
13
+ class OperatorService < Service
14
+ # @!visibility private
15
+ def initialize(connection)
16
+ super(connection, Internal::Bridge::Client::SERVICE_OPERATOR)
17
+ end
18
+
19
+ # Calls OperatorService.AddSearchAttributes API call.
20
+ #
21
+ # @param request [Temporalio::Api::OperatorService::V1::AddSearchAttributesRequest] API request.
22
+ # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors.
23
+ # @param rpc_metadata [Hash<String, String>, nil] Headers to include on the RPC call.
24
+ # @param rpc_timeout [Float, nil] Number of seconds before timeout.
25
+ # @return [Temporalio::Api::OperatorService::V1::AddSearchAttributesResponse] API response.
26
+ def add_search_attributes(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil)
27
+ invoke_rpc(
28
+ rpc: 'add_search_attributes',
29
+ request_class: Temporalio::Api::OperatorService::V1::AddSearchAttributesRequest,
30
+ response_class: Temporalio::Api::OperatorService::V1::AddSearchAttributesResponse,
31
+ request:,
32
+ rpc_retry:,
33
+ rpc_metadata:,
34
+ rpc_timeout:
35
+ )
36
+ end
37
+
38
+ # Calls OperatorService.RemoveSearchAttributes API call.
39
+ #
40
+ # @param request [Temporalio::Api::OperatorService::V1::RemoveSearchAttributesRequest] API request.
41
+ # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors.
42
+ # @param rpc_metadata [Hash<String, String>, nil] Headers to include on the RPC call.
43
+ # @param rpc_timeout [Float, nil] Number of seconds before timeout.
44
+ # @return [Temporalio::Api::OperatorService::V1::RemoveSearchAttributesResponse] API response.
45
+ def remove_search_attributes(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil)
46
+ invoke_rpc(
47
+ rpc: 'remove_search_attributes',
48
+ request_class: Temporalio::Api::OperatorService::V1::RemoveSearchAttributesRequest,
49
+ response_class: Temporalio::Api::OperatorService::V1::RemoveSearchAttributesResponse,
50
+ request:,
51
+ rpc_retry:,
52
+ rpc_metadata:,
53
+ rpc_timeout:
54
+ )
55
+ end
56
+
57
+ # Calls OperatorService.ListSearchAttributes API call.
58
+ #
59
+ # @param request [Temporalio::Api::OperatorService::V1::ListSearchAttributesRequest] API request.
60
+ # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors.
61
+ # @param rpc_metadata [Hash<String, String>, nil] Headers to include on the RPC call.
62
+ # @param rpc_timeout [Float, nil] Number of seconds before timeout.
63
+ # @return [Temporalio::Api::OperatorService::V1::ListSearchAttributesResponse] API response.
64
+ def list_search_attributes(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil)
65
+ invoke_rpc(
66
+ rpc: 'list_search_attributes',
67
+ request_class: Temporalio::Api::OperatorService::V1::ListSearchAttributesRequest,
68
+ response_class: Temporalio::Api::OperatorService::V1::ListSearchAttributesResponse,
69
+ request:,
70
+ rpc_retry:,
71
+ rpc_metadata:,
72
+ rpc_timeout:
73
+ )
74
+ end
75
+
76
+ # Calls OperatorService.DeleteNamespace API call.
77
+ #
78
+ # @param request [Temporalio::Api::OperatorService::V1::DeleteNamespaceRequest] API request.
79
+ # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors.
80
+ # @param rpc_metadata [Hash<String, String>, nil] Headers to include on the RPC call.
81
+ # @param rpc_timeout [Float, nil] Number of seconds before timeout.
82
+ # @return [Temporalio::Api::OperatorService::V1::DeleteNamespaceResponse] API response.
83
+ def delete_namespace(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil)
84
+ invoke_rpc(
85
+ rpc: 'delete_namespace',
86
+ request_class: Temporalio::Api::OperatorService::V1::DeleteNamespaceRequest,
87
+ response_class: Temporalio::Api::OperatorService::V1::DeleteNamespaceResponse,
88
+ request:,
89
+ rpc_retry:,
90
+ rpc_metadata:,
91
+ rpc_timeout:
92
+ )
93
+ end
94
+
95
+ # Calls OperatorService.AddOrUpdateRemoteCluster API call.
96
+ #
97
+ # @param request [Temporalio::Api::OperatorService::V1::AddOrUpdateRemoteClusterRequest] API request.
98
+ # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors.
99
+ # @param rpc_metadata [Hash<String, String>, nil] Headers to include on the RPC call.
100
+ # @param rpc_timeout [Float, nil] Number of seconds before timeout.
101
+ # @return [Temporalio::Api::OperatorService::V1::AddOrUpdateRemoteClusterResponse] API response.
102
+ def add_or_update_remote_cluster(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil)
103
+ invoke_rpc(
104
+ rpc: 'add_or_update_remote_cluster',
105
+ request_class: Temporalio::Api::OperatorService::V1::AddOrUpdateRemoteClusterRequest,
106
+ response_class: Temporalio::Api::OperatorService::V1::AddOrUpdateRemoteClusterResponse,
107
+ request:,
108
+ rpc_retry:,
109
+ rpc_metadata:,
110
+ rpc_timeout:
111
+ )
112
+ end
113
+
114
+ # Calls OperatorService.RemoveRemoteCluster API call.
115
+ #
116
+ # @param request [Temporalio::Api::OperatorService::V1::RemoveRemoteClusterRequest] API request.
117
+ # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors.
118
+ # @param rpc_metadata [Hash<String, String>, nil] Headers to include on the RPC call.
119
+ # @param rpc_timeout [Float, nil] Number of seconds before timeout.
120
+ # @return [Temporalio::Api::OperatorService::V1::RemoveRemoteClusterResponse] API response.
121
+ def remove_remote_cluster(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil)
122
+ invoke_rpc(
123
+ rpc: 'remove_remote_cluster',
124
+ request_class: Temporalio::Api::OperatorService::V1::RemoveRemoteClusterRequest,
125
+ response_class: Temporalio::Api::OperatorService::V1::RemoveRemoteClusterResponse,
126
+ request:,
127
+ rpc_retry:,
128
+ rpc_metadata:,
129
+ rpc_timeout:
130
+ )
131
+ end
132
+
133
+ # Calls OperatorService.ListClusters API call.
134
+ #
135
+ # @param request [Temporalio::Api::OperatorService::V1::ListClustersRequest] API request.
136
+ # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors.
137
+ # @param rpc_metadata [Hash<String, String>, nil] Headers to include on the RPC call.
138
+ # @param rpc_timeout [Float, nil] Number of seconds before timeout.
139
+ # @return [Temporalio::Api::OperatorService::V1::ListClustersResponse] API response.
140
+ def list_clusters(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil)
141
+ invoke_rpc(
142
+ rpc: 'list_clusters',
143
+ request_class: Temporalio::Api::OperatorService::V1::ListClustersRequest,
144
+ response_class: Temporalio::Api::OperatorService::V1::ListClustersResponse,
145
+ request:,
146
+ rpc_retry:,
147
+ rpc_metadata:,
148
+ rpc_timeout:
149
+ )
150
+ end
151
+
152
+ # Calls OperatorService.GetNexusEndpoint API call.
153
+ #
154
+ # @param request [Temporalio::Api::OperatorService::V1::GetNexusEndpointRequest] API request.
155
+ # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors.
156
+ # @param rpc_metadata [Hash<String, String>, nil] Headers to include on the RPC call.
157
+ # @param rpc_timeout [Float, nil] Number of seconds before timeout.
158
+ # @return [Temporalio::Api::OperatorService::V1::GetNexusEndpointResponse] API response.
159
+ def get_nexus_endpoint(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil)
160
+ invoke_rpc(
161
+ rpc: 'get_nexus_endpoint',
162
+ request_class: Temporalio::Api::OperatorService::V1::GetNexusEndpointRequest,
163
+ response_class: Temporalio::Api::OperatorService::V1::GetNexusEndpointResponse,
164
+ request:,
165
+ rpc_retry:,
166
+ rpc_metadata:,
167
+ rpc_timeout:
168
+ )
169
+ end
170
+
171
+ # Calls OperatorService.CreateNexusEndpoint API call.
172
+ #
173
+ # @param request [Temporalio::Api::OperatorService::V1::CreateNexusEndpointRequest] API request.
174
+ # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors.
175
+ # @param rpc_metadata [Hash<String, String>, nil] Headers to include on the RPC call.
176
+ # @param rpc_timeout [Float, nil] Number of seconds before timeout.
177
+ # @return [Temporalio::Api::OperatorService::V1::CreateNexusEndpointResponse] API response.
178
+ def create_nexus_endpoint(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil)
179
+ invoke_rpc(
180
+ rpc: 'create_nexus_endpoint',
181
+ request_class: Temporalio::Api::OperatorService::V1::CreateNexusEndpointRequest,
182
+ response_class: Temporalio::Api::OperatorService::V1::CreateNexusEndpointResponse,
183
+ request:,
184
+ rpc_retry:,
185
+ rpc_metadata:,
186
+ rpc_timeout:
187
+ )
188
+ end
189
+
190
+ # Calls OperatorService.UpdateNexusEndpoint API call.
191
+ #
192
+ # @param request [Temporalio::Api::OperatorService::V1::UpdateNexusEndpointRequest] API request.
193
+ # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors.
194
+ # @param rpc_metadata [Hash<String, String>, nil] Headers to include on the RPC call.
195
+ # @param rpc_timeout [Float, nil] Number of seconds before timeout.
196
+ # @return [Temporalio::Api::OperatorService::V1::UpdateNexusEndpointResponse] API response.
197
+ def update_nexus_endpoint(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil)
198
+ invoke_rpc(
199
+ rpc: 'update_nexus_endpoint',
200
+ request_class: Temporalio::Api::OperatorService::V1::UpdateNexusEndpointRequest,
201
+ response_class: Temporalio::Api::OperatorService::V1::UpdateNexusEndpointResponse,
202
+ request:,
203
+ rpc_retry:,
204
+ rpc_metadata:,
205
+ rpc_timeout:
206
+ )
207
+ end
208
+
209
+ # Calls OperatorService.DeleteNexusEndpoint API call.
210
+ #
211
+ # @param request [Temporalio::Api::OperatorService::V1::DeleteNexusEndpointRequest] API request.
212
+ # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors.
213
+ # @param rpc_metadata [Hash<String, String>, nil] Headers to include on the RPC call.
214
+ # @param rpc_timeout [Float, nil] Number of seconds before timeout.
215
+ # @return [Temporalio::Api::OperatorService::V1::DeleteNexusEndpointResponse] API response.
216
+ def delete_nexus_endpoint(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil)
217
+ invoke_rpc(
218
+ rpc: 'delete_nexus_endpoint',
219
+ request_class: Temporalio::Api::OperatorService::V1::DeleteNexusEndpointRequest,
220
+ response_class: Temporalio::Api::OperatorService::V1::DeleteNexusEndpointResponse,
221
+ request:,
222
+ rpc_retry:,
223
+ rpc_metadata:,
224
+ rpc_timeout:
225
+ )
226
+ end
227
+
228
+ # Calls OperatorService.ListNexusEndpoints API call.
229
+ #
230
+ # @param request [Temporalio::Api::OperatorService::V1::ListNexusEndpointsRequest] API request.
231
+ # @param rpc_retry [Boolean] Whether to implicitly retry known retryable errors.
232
+ # @param rpc_metadata [Hash<String, String>, nil] Headers to include on the RPC call.
233
+ # @param rpc_timeout [Float, nil] Number of seconds before timeout.
234
+ # @return [Temporalio::Api::OperatorService::V1::ListNexusEndpointsResponse] API response.
235
+ def list_nexus_endpoints(request, rpc_retry: false, rpc_metadata: nil, rpc_timeout: nil)
236
+ invoke_rpc(
237
+ rpc: 'list_nexus_endpoints',
238
+ request_class: Temporalio::Api::OperatorService::V1::ListNexusEndpointsRequest,
239
+ response_class: Temporalio::Api::OperatorService::V1::ListNexusEndpointsResponse,
240
+ request:,
241
+ rpc_retry:,
242
+ rpc_metadata:,
243
+ rpc_timeout:
244
+ )
245
+ end
246
+ end
247
+ end
248
+ end
249
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'google/protobuf'
4
+ require 'temporalio/api'
5
+ require 'temporalio/error'
6
+
7
+ module Temporalio
8
+ class Client
9
+ class Connection
10
+ # Base class for raw gRPC services.
11
+ class Service
12
+ # @!visibility private
13
+ def initialize(connection, service)
14
+ @connection = connection
15
+ @service = service
16
+ end
17
+
18
+ protected
19
+
20
+ def invoke_rpc(rpc:, request_class:, response_class:, request:, rpc_retry:, rpc_metadata:,
21
+ rpc_timeout:)
22
+ raise 'Invalid request type' unless request.is_a?(request_class)
23
+
24
+ begin
25
+ @connection._core_client._invoke_rpc(
26
+ service: @service,
27
+ rpc:,
28
+ request:,
29
+ response_class:,
30
+ rpc_retry:,
31
+ rpc_metadata:,
32
+ rpc_timeout:
33
+ )
34
+ rescue Internal::Bridge::Client::RPCFailure => e
35
+ raise Error::RPCError.new(e.message, code: e.code, raw_grpc_status: e.details)
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end