temporalio 0.2.0-arm64-darwin

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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