diff options
Diffstat (limited to 'src/ruby/bin')
-rw-r--r-- | src/ruby/bin/apis/google/protobuf/empty.rb | 29 | ||||
-rwxr-xr-x | src/ruby/bin/apis/pubsub_demo.rb | 241 | ||||
-rw-r--r-- | src/ruby/bin/apis/tech/pubsub/proto/pubsub.rb | 159 | ||||
-rw-r--r-- | src/ruby/bin/apis/tech/pubsub/proto/pubsub_services.rb | 88 | ||||
-rwxr-xr-x | src/ruby/bin/math_client.rb | 26 |
5 files changed, 17 insertions, 526 deletions
diff --git a/src/ruby/bin/apis/google/protobuf/empty.rb b/src/ruby/bin/apis/google/protobuf/empty.rb deleted file mode 100644 index 4743bded3d..0000000000 --- a/src/ruby/bin/apis/google/protobuf/empty.rb +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright 2015 gRPC authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: google/protobuf/empty.proto - -require 'google/protobuf' - -Google::Protobuf::DescriptorPool.generated_pool.build do - add_message "google.protobuf.Empty" do - end -end - -module Google - module Protobuf - Empty = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.Empty").msgclass - end -end diff --git a/src/ruby/bin/apis/pubsub_demo.rb b/src/ruby/bin/apis/pubsub_demo.rb deleted file mode 100755 index c565771d45..0000000000 --- a/src/ruby/bin/apis/pubsub_demo.rb +++ /dev/null @@ -1,241 +0,0 @@ -#!/usr/bin/env ruby - -# Copyright 2015 gRPC authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# pubsub_demo demos accesses the Google PubSub API via its gRPC interface -# -# $ GOOGLE_APPLICATION_CREDENTIALS=<path_to_service_account_key_file> \ -# path/to/pubsub_demo.rb \ -# [--action=<chosen_demo_action> ] -# -# There are options related to the chosen action, see #parse_args below. -# - the possible actions are given by the method names of NamedAction class -# - the default action is list_some_topics - -this_dir = File.expand_path(File.dirname(__FILE__)) -lib_dir = File.join(File.dirname(File.dirname(this_dir)), 'lib') -$LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir) -$LOAD_PATH.unshift(this_dir) unless $LOAD_PATH.include?(this_dir) - -require 'optparse' - -require 'grpc' -require 'googleauth' -require 'google/protobuf' - -require 'google/protobuf/empty' -require 'tech/pubsub/proto/pubsub' -require 'tech/pubsub/proto/pubsub_services' - -# creates a SSL Credentials from the production certificates. -def ssl_creds - GRPC::Core::ChannelCredentials.new() -end - -# Builds the metadata authentication update proc. -def auth_proc(opts) - auth_creds = Google::Auth.get_application_default - return auth_creds.updater_proc -end - -# Creates a stub for accessing the publisher service. -def publisher_stub(opts) - address = "#{opts.host}:#{opts.port}" - stub_clz = Tech::Pubsub::PublisherService::Stub # shorter - GRPC.logger.info("... access PublisherService at #{address}") - call_creds = GRPC::Core::CallCredentials.new(auth_proc(opts)) - combined_creds = ssl_creds.compose(call_creds) - stub_clz.new(address, creds: combined_creds, - GRPC::Core::Channel::SSL_TARGET => opts.host) -end - -# Creates a stub for accessing the subscriber service. -def subscriber_stub(opts) - address = "#{opts.host}:#{opts.port}" - stub_clz = Tech::Pubsub::SubscriberService::Stub # shorter - GRPC.logger.info("... access SubscriberService at #{address}") - call_creds = GRPC::Core::CallCredentials.new(auth_proc(opts)) - combined_creds = ssl_creds.compose(call_creds) - stub_clz.new(address, creds: combined_creds, - GRPC::Core::Channel::SSL_TARGET => opts.host) -end - -# defines methods corresponding to each interop test case. -class NamedActions - include Tech::Pubsub - - # Initializes NamedActions - # - # @param pub [Stub] a stub for accessing the publisher service - # @param sub [Stub] a stub for accessing the publisher service - # @param args [Args] provides access to the command line - def initialize(pub, sub, args) - @pub = pub - @sub = sub - @args = args - end - - # Removes the test topic if it exists - def remove_topic - name = test_topic_name - p "... removing Topic #{name}" - @pub.delete_topic(DeleteTopicRequest.new(topic: name)) - p "removed Topic: #{name} OK" - rescue GRPC::BadStatus => e - p "Could not delete a topics: rpc failed with '#{e}'" - end - - # Creates a test topic - def create_topic - name = test_topic_name - p "... creating Topic #{name}" - resp = @pub.create_topic(Topic.new(name: name)) - p "created Topic: #{resp.name} OK" - rescue GRPC::BadStatus => e - p "Could not create a topics: rpc failed with '#{e}'" - end - - # Lists topics in the project - def list_some_topics - p 'Listing topics' - p '-------------_' - list_project_topics.topic.each { |t| p t.name } - rescue GRPC::BadStatus => e - p "Could not list topics: rpc failed with '#{e}'" - end - - # Checks if a topics exists in a project - def check_exists - name = test_topic_name - p "... checking for topic #{name}" - exists = topic_exists?(name) - p "#{name} is a topic" if exists - p "#{name} is not a topic" unless exists - rescue GRPC::BadStatus => e - p "Could not check for a topics: rpc failed with '#{e}'" - end - - # Publishes some messages - def random_pub_sub - topic_name, sub_name = test_topic_name, test_sub_name - create_topic_if_needed(topic_name) - @sub.create_subscription(Subscription.new(name: sub_name, - topic: topic_name)) - msg_count = rand(10..30) - msg_count.times do |x| - msg = PubsubMessage.new(data: "message #{x}") - @pub.publish(PublishRequest.new(topic: topic_name, message: msg)) - end - p "Sent #{msg_count} messages to #{topic_name}, checking for them now." - batch = @sub.pull_batch(PullBatchRequest.new(subscription: sub_name, - max_events: msg_count)) - ack_ids = batch.pull_responses.map { |x| x.ack_id } - p "Got #{ack_ids.size} messages; acknowledging them.." - @sub.acknowledge(AcknowledgeRequest.new(subscription: sub_name, - ack_id: ack_ids)) - p "Test messages were acknowledged OK, deleting the subscription" - del_req = DeleteSubscriptionRequest.new(subscription: sub_name) - @sub.delete_subscription(del_req) - rescue GRPC::BadStatus => e - p "Could not do random pub sub: rpc failed with '#{e}'" - end - - private - - # test_topic_name is the topic name to use in this test. - def test_topic_name - unless @args.topic_name.nil? - return "/topics/#{@args.project_id}/#{@args.topic_name}" - end - now_text = Time.now.utc.strftime('%Y%m%d%H%M%S%L') - "/topics/#{@args.project_id}/#{ENV['USER']}-#{now_text}" - end - - # test_sub_name is the subscription name to use in this test. - def test_sub_name - unless @args.sub_name.nil? - return "/subscriptions/#{@args.project_id}/#{@args.sub_name}" - end - now_text = Time.now.utc.strftime('%Y%m%d%H%M%S%L') - "/subscriptions/#{@args.project_id}/#{ENV['USER']}-#{now_text}" - end - - # determines if the topic name exists - def topic_exists?(name) - topics = list_project_topics.topic.map { |t| t.name } - topics.include?(name) - end - - def create_topic_if_needed(name) - return if topic_exists?(name) - @pub.create_topic(Topic.new(name: name)) - end - - def list_project_topics - q = "cloud.googleapis.com/project in (/projects/#{@args.project_id})" - @pub.list_topics(ListTopicsRequest.new(query: q)) - end -end - -# Args is used to hold the command line info. -Args = Struct.new(:host, :port, :action, :project_id, :topic_name, - :sub_name) - -# validates the command line options, returning them as an Arg. -def parse_args - args = Args.new('pubsub-staging.googleapis.com', - 443, 'list_some_topics', 'stoked-keyword-656') - OptionParser.new do |opts| - opts.on('--server_host SERVER_HOST', 'server hostname') do |v| - args.host = v - end - opts.on('--server_port SERVER_PORT', 'server port') do |v| - args.port = v - end - - # instance_methods(false) gives only the methods defined in that class. - scenes = NamedActions.instance_methods(false).map { |t| t.to_s } - scene_list = scenes.join(',') - opts.on("--action CODE", scenes, {}, 'pick a demo action', - " (#{scene_list})") do |v| - args.action = v - end - - # Set the remaining values. - %w(project_id topic_name sub_name).each do |o| - opts.on("--#{o} VALUE", "#{o}") do |v| - args[o] = v - end - end - end.parse! - _check_args(args) -end - -def _check_args(args) - %w(host port action).each do |a| - if args[a].nil? - raise OptionParser::MissingArgument.new("please specify --#{a}") - end - end - args -end - -def main - args = parse_args - pub, sub = publisher_stub(args), subscriber_stub(args) - NamedActions.new(pub, sub, args).method(args.action).call -end - -main diff --git a/src/ruby/bin/apis/tech/pubsub/proto/pubsub.rb b/src/ruby/bin/apis/tech/pubsub/proto/pubsub.rb deleted file mode 100644 index 73a0d5d9e4..0000000000 --- a/src/ruby/bin/apis/tech/pubsub/proto/pubsub.rb +++ /dev/null @@ -1,159 +0,0 @@ -# Copyright 2015 gRPC authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: tech/pubsub/proto/pubsub.proto - -require 'google/protobuf' - -require 'google/protobuf/empty' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_message "tech.pubsub.Topic" do - optional :name, :string, 1 - end - add_message "tech.pubsub.PubsubMessage" do - optional :data, :string, 1 - optional :message_id, :string, 3 - end - add_message "tech.pubsub.GetTopicRequest" do - optional :topic, :string, 1 - end - add_message "tech.pubsub.PublishRequest" do - optional :topic, :string, 1 - optional :message, :message, 2, "tech.pubsub.PubsubMessage" - end - add_message "tech.pubsub.PublishBatchRequest" do - optional :topic, :string, 1 - repeated :messages, :message, 2, "tech.pubsub.PubsubMessage" - end - add_message "tech.pubsub.PublishBatchResponse" do - repeated :message_ids, :string, 1 - end - add_message "tech.pubsub.ListTopicsRequest" do - optional :query, :string, 1 - optional :max_results, :int32, 2 - optional :page_token, :string, 3 - end - add_message "tech.pubsub.ListTopicsResponse" do - repeated :topic, :message, 1, "tech.pubsub.Topic" - optional :next_page_token, :string, 2 - end - add_message "tech.pubsub.DeleteTopicRequest" do - optional :topic, :string, 1 - end - add_message "tech.pubsub.Subscription" do - optional :name, :string, 1 - optional :topic, :string, 2 - optional :query, :string, 3 - optional :truncation_policy, :message, 4, "tech.pubsub.Subscription.TruncationPolicy" - optional :push_config, :message, 5, "tech.pubsub.PushConfig" - optional :ack_deadline_seconds, :int32, 6 - optional :garbage_collect_seconds, :int64, 7 - end - add_message "tech.pubsub.Subscription.TruncationPolicy" do - optional :max_bytes, :int64, 1 - optional :max_age_seconds, :int64, 2 - end - add_message "tech.pubsub.PushConfig" do - optional :push_endpoint, :string, 1 - end - add_message "tech.pubsub.PubsubEvent" do - optional :subscription, :string, 1 - optional :message, :message, 2, "tech.pubsub.PubsubMessage" - optional :truncated, :bool, 3 - optional :deleted, :bool, 4 - end - add_message "tech.pubsub.GetSubscriptionRequest" do - optional :subscription, :string, 1 - end - add_message "tech.pubsub.ListSubscriptionsRequest" do - optional :query, :string, 1 - optional :max_results, :int32, 3 - optional :page_token, :string, 4 - end - add_message "tech.pubsub.ListSubscriptionsResponse" do - repeated :subscription, :message, 1, "tech.pubsub.Subscription" - optional :next_page_token, :string, 2 - end - add_message "tech.pubsub.TruncateSubscriptionRequest" do - optional :subscription, :string, 1 - end - add_message "tech.pubsub.DeleteSubscriptionRequest" do - optional :subscription, :string, 1 - end - add_message "tech.pubsub.ModifyPushConfigRequest" do - optional :subscription, :string, 1 - optional :push_config, :message, 2, "tech.pubsub.PushConfig" - end - add_message "tech.pubsub.PullRequest" do - optional :subscription, :string, 1 - optional :return_immediately, :bool, 2 - end - add_message "tech.pubsub.PullResponse" do - optional :ack_id, :string, 1 - optional :pubsub_event, :message, 2, "tech.pubsub.PubsubEvent" - end - add_message "tech.pubsub.PullBatchRequest" do - optional :subscription, :string, 1 - optional :return_immediately, :bool, 2 - optional :max_events, :int32, 3 - end - add_message "tech.pubsub.PullBatchResponse" do - repeated :pull_responses, :message, 2, "tech.pubsub.PullResponse" - end - add_message "tech.pubsub.ModifyAckDeadlineRequest" do - optional :subscription, :string, 1 - optional :ack_id, :string, 2 - optional :ack_deadline_seconds, :int32, 3 - end - add_message "tech.pubsub.AcknowledgeRequest" do - optional :subscription, :string, 1 - repeated :ack_id, :string, 2 - end - add_message "tech.pubsub.NackRequest" do - optional :subscription, :string, 1 - repeated :ack_id, :string, 2 - end -end - -module Tech - module Pubsub - Topic = Google::Protobuf::DescriptorPool.generated_pool.lookup("tech.pubsub.Topic").msgclass - PubsubMessage = Google::Protobuf::DescriptorPool.generated_pool.lookup("tech.pubsub.PubsubMessage").msgclass - GetTopicRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("tech.pubsub.GetTopicRequest").msgclass - PublishRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("tech.pubsub.PublishRequest").msgclass - PublishBatchRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("tech.pubsub.PublishBatchRequest").msgclass - PublishBatchResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("tech.pubsub.PublishBatchResponse").msgclass - ListTopicsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("tech.pubsub.ListTopicsRequest").msgclass - ListTopicsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("tech.pubsub.ListTopicsResponse").msgclass - DeleteTopicRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("tech.pubsub.DeleteTopicRequest").msgclass - Subscription = Google::Protobuf::DescriptorPool.generated_pool.lookup("tech.pubsub.Subscription").msgclass - Subscription::TruncationPolicy = Google::Protobuf::DescriptorPool.generated_pool.lookup("tech.pubsub.Subscription.TruncationPolicy").msgclass - PushConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("tech.pubsub.PushConfig").msgclass - PubsubEvent = Google::Protobuf::DescriptorPool.generated_pool.lookup("tech.pubsub.PubsubEvent").msgclass - GetSubscriptionRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("tech.pubsub.GetSubscriptionRequest").msgclass - ListSubscriptionsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("tech.pubsub.ListSubscriptionsRequest").msgclass - ListSubscriptionsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("tech.pubsub.ListSubscriptionsResponse").msgclass - TruncateSubscriptionRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("tech.pubsub.TruncateSubscriptionRequest").msgclass - DeleteSubscriptionRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("tech.pubsub.DeleteSubscriptionRequest").msgclass - ModifyPushConfigRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("tech.pubsub.ModifyPushConfigRequest").msgclass - PullRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("tech.pubsub.PullRequest").msgclass - PullResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("tech.pubsub.PullResponse").msgclass - PullBatchRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("tech.pubsub.PullBatchRequest").msgclass - PullBatchResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("tech.pubsub.PullBatchResponse").msgclass - ModifyAckDeadlineRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("tech.pubsub.ModifyAckDeadlineRequest").msgclass - AcknowledgeRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("tech.pubsub.AcknowledgeRequest").msgclass - NackRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("tech.pubsub.NackRequest").msgclass - end -end diff --git a/src/ruby/bin/apis/tech/pubsub/proto/pubsub_services.rb b/src/ruby/bin/apis/tech/pubsub/proto/pubsub_services.rb deleted file mode 100644 index b34db57b44..0000000000 --- a/src/ruby/bin/apis/tech/pubsub/proto/pubsub_services.rb +++ /dev/null @@ -1,88 +0,0 @@ -# Copyright 2015 gRPC authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Generated by the protocol buffer compiler. DO NOT EDIT! -# Source: tech/pubsub/proto/pubsub.proto for package 'tech.pubsub' - -require 'grpc' -require 'google/protobuf/empty' -require 'tech/pubsub/proto/pubsub' - -module Tech - module Pubsub - module PublisherService - - # TODO: add proto service documentation here - class Service - - include GRPC::GenericService - - self.marshal_class_method = :encode - self.unmarshal_class_method = :decode - self.service_name = 'tech.pubsub.PublisherService' - - rpc :CreateTopic, Topic, Topic - rpc :Publish, PublishRequest, Google::Protobuf::Empty - rpc :PublishBatch, PublishBatchRequest, PublishBatchResponse - rpc :GetTopic, GetTopicRequest, Topic - rpc :ListTopics, ListTopicsRequest, ListTopicsResponse - rpc :DeleteTopic, DeleteTopicRequest, Google::Protobuf::Empty - end - - Stub = Service.rpc_stub_class - end - module SubscriberService - - # TODO: add proto service documentation here - class Service - - include GRPC::GenericService - - self.marshal_class_method = :encode - self.unmarshal_class_method = :decode - self.service_name = 'tech.pubsub.SubscriberService' - - rpc :CreateSubscription, Subscription, Subscription - rpc :GetSubscription, GetSubscriptionRequest, Subscription - rpc :ListSubscriptions, ListSubscriptionsRequest, ListSubscriptionsResponse - rpc :DeleteSubscription, DeleteSubscriptionRequest, Google::Protobuf::Empty - rpc :TruncateSubscription, TruncateSubscriptionRequest, Google::Protobuf::Empty - rpc :ModifyPushConfig, ModifyPushConfigRequest, Google::Protobuf::Empty - rpc :Pull, PullRequest, PullResponse - rpc :PullBatch, PullBatchRequest, PullBatchResponse - rpc :ModifyAckDeadline, ModifyAckDeadlineRequest, Google::Protobuf::Empty - rpc :Acknowledge, AcknowledgeRequest, Google::Protobuf::Empty - rpc :Nack, NackRequest, Google::Protobuf::Empty - end - - Stub = Service.rpc_stub_class - end - module PushEndpointService - - # TODO: add proto service documentation here - class Service - - include GRPC::GenericService - - self.marshal_class_method = :encode - self.unmarshal_class_method = :decode - self.service_name = 'tech.pubsub.PushEndpointService' - - rpc :HandlePubsubEvent, PubsubEvent, Google::Protobuf::Empty - end - - Stub = Service.rpc_stub_class - end - end -end diff --git a/src/ruby/bin/math_client.rb b/src/ruby/bin/math_client.rb index 15120c0c0d..66717d8bf3 100755 --- a/src/ruby/bin/math_client.rb +++ b/src/ruby/bin/math_client.rb @@ -27,15 +27,26 @@ $LOAD_PATH.unshift(this_dir) unless $LOAD_PATH.include?(this_dir) require 'grpc' require 'math_services_pb' require 'optparse' +require 'logger' include GRPC::Core::TimeConsts +module StdoutLogger + def logger + LOGGER + end + + LOGGER = Logger.new(STDOUT) +end + +GRPC.extend(StdoutLogger) + def do_div(stub) GRPC.logger.info('request_response') GRPC.logger.info('----------------') req = Math::DivArgs.new(dividend: 7, divisor: 3) GRPC.logger.info("div(7/3): req=#{req.inspect}") - resp = stub.div(req, timeout: INFINITE_FUTURE) + resp = stub.div(req) GRPC.logger.info("Answer: #{resp.inspect}") GRPC.logger.info('----------------') end @@ -56,7 +67,7 @@ def do_fib(stub) GRPC.logger.info('----------------') req = Math::FibArgs.new(limit: 11) GRPC.logger.info("fib(11): req=#{req.inspect}") - resp = stub.fib(req, timeout: INFINITE_FUTURE) + resp = stub.fib(req) resp.each do |r| GRPC.logger.info("Answer: #{r.inspect}") end @@ -71,7 +82,7 @@ def do_div_many(stub) reqs << Math::DivArgs.new(dividend: 5, divisor: 2) reqs << Math::DivArgs.new(dividend: 7, divisor: 2) GRPC.logger.info("div(7/3), div(5/2), div(7/2): reqs=#{reqs.inspect}") - resp = stub.div_many(reqs, timeout: INFINITE_FUTURE) + resp = stub.div_many(reqs) resp.each do |r| GRPC.logger.info("Answer: #{r.inspect}") end @@ -107,19 +118,16 @@ def main # The Math::Math:: module occurs because the service has the same name as its # package. That practice should be avoided by defining real services. - - p options if options['secure'] stub_opts = { :creds => test_creds, - GRPC::Core::Channel::SSL_TARGET => 'foo.test.google.fr' + GRPC::Core::Channel::SSL_TARGET => 'foo.test.google.fr', + timeout: INFINITE_FUTURE, } - p stub_opts - p options['host'] stub = Math::Math::Stub.new(options['host'], **stub_opts) GRPC.logger.info("... connecting securely on #{options['host']}") else - stub = Math::Math::Stub.new(options['host']) + stub = Math::Math::Stub.new(options['host'], :this_channel_is_insecure, timeout: INFINITE_FUTURE) GRPC.logger.info("... connecting insecurely on #{options['host']}") end |