Class: Gruf::Response
- Inherits:
-
Object
- Object
- Gruf::Response
- Defined in:
- lib/gruf/response.rb
Overview
Wraps the active call operation to provide metadata and timing around the request
Instance Attribute Summary collapse
-
#cancelled ⇒ Boolean
readonly
Whether or not the operation was cancelled.
-
#deadline ⇒ Time
readonly
The set deadline on the call.
-
#execution_time ⇒ Float
readonly
The time that the request took to execute.
-
#metadata ⇒ Hash
readonly
The metadata that was attached to the operation.
-
#operation ⇒ GRPC::ActiveCall::Operation
readonly
The operation that was executed for the given request.
-
#trailing_metadata ⇒ Hash
readonly
The trailing metadata that the service returned.
Instance Method Summary collapse
-
#initialize(operation:, message:, execution_time: nil) ⇒ Response
constructor
Initialize a response object with the given gRPC operation.
-
#internal_execution_time ⇒ Float
Return execution time of the call internally on the server in ms.
-
#message ⇒ Object
Return the message returned by the request.
Constructor Details
#initialize(operation:, message:, execution_time: nil) ⇒ Response
Initialize a response object with the given gRPC operation
43 44 45 46 47 48 49 50 51 |
# File 'lib/gruf/response.rb', line 43 def initialize(operation:, message:, execution_time: nil) @operation = operation @message = @metadata = operation. @trailing_metadata = operation. @deadline = operation.deadline @cancelled = operation.cancelled? @execution_time = execution_time || 0.0 end |
Instance Attribute Details
#cancelled ⇒ Boolean (readonly)
Returns Whether or not the operation was cancelled.
32 33 34 |
# File 'lib/gruf/response.rb', line 32 def cancelled @cancelled end |
#deadline ⇒ Time (readonly)
Returns The set deadline on the call.
30 31 32 |
# File 'lib/gruf/response.rb', line 30 def deadline @deadline end |
#execution_time ⇒ Float (readonly)
Returns The time that the request took to execute.
34 35 36 |
# File 'lib/gruf/response.rb', line 34 def execution_time @execution_time end |
#metadata ⇒ Hash (readonly)
Returns The metadata that was attached to the operation.
26 27 28 |
# File 'lib/gruf/response.rb', line 26 def @metadata end |
#operation ⇒ GRPC::ActiveCall::Operation (readonly)
Returns The operation that was executed for the given request.
24 25 26 |
# File 'lib/gruf/response.rb', line 24 def operation @operation end |
#trailing_metadata ⇒ Hash (readonly)
Returns The trailing metadata that the service returned.
28 29 30 |
# File 'lib/gruf/response.rb', line 28 def @trailing_metadata end |
Instance Method Details
#internal_execution_time ⇒ Float
Return execution time of the call internally on the server in ms
67 68 69 |
# File 'lib/gruf/response.rb', line 67 def internal_execution_time ['timer'].to_f end |
#message ⇒ Object
Return the message returned by the request
58 59 60 |
# File 'lib/gruf/response.rb', line 58 def @message ||= @operation.execute end |