Class: GrpcKit::Rpcs::Client::RequestResponse
- Defined in:
- lib/grpc_kit/rpcs/request_response.rb
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
Methods inherited from Base
Constructor Details
This class inherits a constructor from GrpcKit::Rpcs::Client::Base
Instance Method Details
#invoke(session, request, authority:, metadata: {}, timeout: nil, **opts) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/grpc_kit/rpcs/request_response.rb', line 9 def invoke(session, request, authority:, metadata: {}, timeout: nil, **opts) cs = GrpcKit::Streams::Client.new(path: @config.path, protobuf: @config.protobuf, session: session, authority: ) call = GrpcKit::Rpcs::Call.new(, @config.method_name, @config.service_name, cs) @config.interceptor.intercept(request, call, ) do |r, c, m| if timeout # XXX: when timeout.to_timeout is 0 Timeout.timeout(timeout.to_timeout, GrpcKit::Errors::DeadlienExceeded) do c.send_msg(r, timeout: timeout.to_s, metadata: m, last: true) c.recv(last: true) end else c.send_msg(r, metadata: m, last: true) c.recv(last: true) end end end |