Class: Pinot::GrpcTransport
- Inherits:
-
Object
- Object
- Pinot::GrpcTransport
- Defined in:
- lib/pinot/grpc_transport.rb
Instance Method Summary collapse
-
#execute(broker_address, request) ⇒ Object
Returns Pinot::BrokerResponse.
-
#initialize(grpc_config) ⇒ GrpcTransport
constructor
A new instance of GrpcTransport.
Constructor Details
#initialize(grpc_config) ⇒ GrpcTransport
Returns a new instance of GrpcTransport.
13 14 15 |
# File 'lib/pinot/grpc_transport.rb', line 13 def initialize(grpc_config) @config = grpc_config end |
Instance Method Details
#execute(broker_address, request) ⇒ Object
Returns Pinot::BrokerResponse
18 19 20 21 22 23 24 25 26 27 |
# File 'lib/pinot/grpc_transport.rb', line 18 def execute(broker_address, request) stub = build_stub(broker_address) grpc_request = build_request(request) call_opts = build_call_opts grpc_response = stub.submit(grpc_request, **call_opts) BrokerResponse.from_json(grpc_response.payload) rescue GRPC::BadStatus => e raise TransportError, "gRPC error #{e.code}: #{e.details}" end |