grpc 0.14.1-x86-mingw32 → 0.15.0-x86-mingw32
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.
Potentially problematic release.
This version of grpc might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/grpc_c.32.ruby +0 -0
- data/grpc_c.64.ruby +0 -0
- data/src/ruby/bin/math_services.rb +41 -2
- data/src/ruby/ext/grpc/rb_call.c +42 -40
- data/src/ruby/ext/grpc/rb_channel.c +1 -1
- data/src/ruby/ext/grpc/rb_completion_queue.c +59 -6
- data/src/ruby/ext/grpc/rb_completion_queue.h +1 -1
- data/src/ruby/ext/grpc/rb_grpc.c +1 -3
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +12 -2
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +21 -5
- data/src/ruby/ext/grpc/rb_loader.c +1 -1
- data/src/ruby/ext/grpc/rb_server.c +5 -3
- data/src/ruby/lib/grpc.rb +0 -3
- data/src/ruby/lib/grpc/2.0/grpc_c.so +0 -0
- data/src/ruby/lib/grpc/2.1/grpc_c.so +0 -0
- data/src/ruby/lib/grpc/2.2/grpc_c.so +0 -0
- data/src/ruby/lib/grpc/2.3/grpc_c.so +0 -0
- data/src/ruby/lib/grpc/errors.rb +3 -2
- data/src/ruby/lib/grpc/generic/active_call.rb +32 -42
- data/src/ruby/lib/grpc/generic/bidi_call.rb +20 -0
- data/src/ruby/lib/grpc/generic/client_stub.rb +31 -54
- data/src/ruby/lib/grpc/generic/rpc_desc.rb +4 -4
- data/src/ruby/lib/grpc/generic/rpc_server.rb +12 -23
- data/src/ruby/lib/grpc/generic/service.rb +8 -8
- data/src/ruby/lib/grpc/grpc_c.so +0 -0
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/grpc/health/v1/health_services.rb +30 -2
- data/src/ruby/pb/grpc/testing/duplicate/echo_duplicate_services.rb +34 -4
- data/src/ruby/pb/grpc/testing/metrics_services.rb +39 -2
- data/src/ruby/pb/src/proto/grpc/testing/empty.rb +15 -0
- data/src/ruby/pb/src/proto/grpc/testing/messages.rb +84 -0
- data/src/ruby/pb/src/proto/grpc/testing/test.rb +14 -0
- data/src/ruby/pb/src/proto/grpc/testing/test_services.rb +110 -0
- data/src/ruby/pb/test/client.rb +5 -2
- data/src/ruby/spec/generic/active_call_spec.rb +3 -2
- data/src/ruby/spec/generic/client_stub_spec.rb +27 -24
- data/src/ruby/spec/generic/rpc_desc_spec.rb +11 -11
- data/src/ruby/spec/generic/rpc_server_spec.rb +42 -61
- data/src/ruby/spec/pb/health/checker_spec.rb +3 -5
- metadata +6 -5
- data/src/ruby/ext/grpc/rb_signal.c +0 -70
- data/src/ruby/ext/grpc/rb_signal.h +0 -39
- data/src/ruby/lib/grpc/signals.rb +0 -69
| @@ -80,12 +80,12 @@ module GRPC | |
| 80 80 | 
             
                  else  # is a bidi_stream
         | 
| 81 81 | 
             
                    active_call.run_server_bidi(mth)
         | 
| 82 82 | 
             
                  end
         | 
| 83 | 
            -
                  send_status(active_call, OK, 'OK',  | 
| 83 | 
            +
                  send_status(active_call, OK, 'OK', active_call.output_metadata)
         | 
| 84 84 | 
             
                rescue BadStatus => e
         | 
| 85 85 | 
             
                  # this is raised by handlers that want GRPC to send an application error
         | 
| 86 86 | 
             
                  # code and detail message and some additional app-specific metadata.
         | 
| 87 87 | 
             
                  GRPC.logger.debug("app err:#{active_call}, status:#{e.code}:#{e.details}")
         | 
| 88 | 
            -
                  send_status(active_call, e.code, e.details,  | 
| 88 | 
            +
                  send_status(active_call, e.code, e.details, e.metadata)
         | 
| 89 89 | 
             
                rescue Core::CallError => e
         | 
| 90 90 | 
             
                  # This is raised by GRPC internals but should rarely, if ever happen.
         | 
| 91 91 | 
             
                  # Log it, but don't notify the other endpoint..
         | 
| @@ -135,10 +135,10 @@ module GRPC | |
| 135 135 | 
             
                  "##{mth.name}: bad arg count; got:#{mth.arity}, want:#{want}, #{msg}"
         | 
| 136 136 | 
             
                end
         | 
| 137 137 |  | 
| 138 | 
            -
                def send_status(active_client, code, details,  | 
| 138 | 
            +
                def send_status(active_client, code, details, metadata = {})
         | 
| 139 139 | 
             
                  details = 'Not sure why' if details.nil?
         | 
| 140 140 | 
             
                  GRPC.logger.debug("Sending status  #{code}:#{details}")
         | 
| 141 | 
            -
                  active_client.send_status(code, details, code == OK,  | 
| 141 | 
            +
                  active_client.send_status(code, details, code == OK, metadata: metadata)
         | 
| 142 142 | 
             
                rescue StandardError => e
         | 
| 143 143 | 
             
                  GRPC.logger.warn("Could not send status #{code}:#{details}")
         | 
| 144 144 | 
             
                  GRPC.logger.warn(e)
         | 
| @@ -28,7 +28,6 @@ | |
| 28 28 | 
             
            # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
         | 
| 29 29 |  | 
| 30 30 | 
             
            require_relative '../grpc'
         | 
| 31 | 
            -
            require_relative '../signals'
         | 
| 32 31 | 
             
            require_relative 'active_call'
         | 
| 33 32 | 
             
            require_relative 'service'
         | 
| 34 33 | 
             
            require 'thread'
         | 
| @@ -170,14 +169,6 @@ module GRPC | |
| 170 169 | 
             
                  alt_cq
         | 
| 171 170 | 
             
                end
         | 
| 172 171 |  | 
| 173 | 
            -
                # setup_srv is used by #initialize to constuct a Core::Server from its
         | 
| 174 | 
            -
                # arguments.
         | 
| 175 | 
            -
                def self.setup_srv(alt_srv, cq, **kw)
         | 
| 176 | 
            -
                  return Core::Server.new(cq, kw) if alt_srv.nil?
         | 
| 177 | 
            -
                  fail(TypeError, '!Server') unless alt_srv.is_a? Core::Server
         | 
| 178 | 
            -
                  alt_srv
         | 
| 179 | 
            -
                end
         | 
| 180 | 
            -
             | 
| 181 172 | 
             
                # setup_connect_md_proc is used by #initialize to validate the
         | 
| 182 173 | 
             
                # connect_md_proc.
         | 
| 183 174 | 
             
                def self.setup_connect_md_proc(a_proc)
         | 
| @@ -194,9 +185,6 @@ module GRPC | |
| 194 185 | 
             
                # instance, however other arbitrary are allowed and when present are used
         | 
| 195 186 | 
             
                # to configure the listeninng connection set up by the RpcServer.
         | 
| 196 187 | 
             
                #
         | 
| 197 | 
            -
                # * server_override: which if passed must be a [GRPC::Core::Server].  When
         | 
| 198 | 
            -
                # present.
         | 
| 199 | 
            -
                #
         | 
| 200 188 | 
             
                # * poll_period: when present, the server polls for new events with this
         | 
| 201 189 | 
             
                # period
         | 
| 202 190 | 
             
                #
         | 
| @@ -218,13 +206,15 @@ module GRPC | |
| 218 206 | 
             
                # when non-nil is a proc for determining metadata to to send back the client
         | 
| 219 207 | 
             
                # on receiving an invocation req.  The proc signature is:
         | 
| 220 208 | 
             
                # {key: val, ..} func(method_name, {key: val, ...})
         | 
| 209 | 
            +
                #
         | 
| 210 | 
            +
                # * server_args:
         | 
| 211 | 
            +
                # A server arguments hash to be passed down to the underlying core server
         | 
| 221 212 | 
             
                def initialize(pool_size:DEFAULT_POOL_SIZE,
         | 
| 222 213 | 
             
                               max_waiting_requests:DEFAULT_MAX_WAITING_REQUESTS,
         | 
| 223 214 | 
             
                               poll_period:DEFAULT_POLL_PERIOD,
         | 
| 224 215 | 
             
                               completion_queue_override:nil,
         | 
| 225 | 
            -
                               server_override:nil,
         | 
| 226 216 | 
             
                               connect_md_proc:nil,
         | 
| 227 | 
            -
                                | 
| 217 | 
            +
                               server_args:{})
         | 
| 228 218 | 
             
                  @connect_md_proc = RpcServer.setup_connect_md_proc(connect_md_proc)
         | 
| 229 219 | 
             
                  @cq = RpcServer.setup_cq(completion_queue_override)
         | 
| 230 220 | 
             
                  @max_waiting_requests = max_waiting_requests
         | 
| @@ -236,7 +226,7 @@ module GRPC | |
| 236 226 | 
             
                  # running_state can take 4 values: :not_started, :running, :stopping, and
         | 
| 237 227 | 
             
                  # :stopped. State transitions can only proceed in that order.
         | 
| 238 228 | 
             
                  @running_state = :not_started
         | 
| 239 | 
            -
                  @server =  | 
| 229 | 
            +
                  @server = Core::Server.new(@cq, server_args)
         | 
| 240 230 | 
             
                end
         | 
| 241 231 |  | 
| 242 232 | 
             
                # stops a running server
         | 
| @@ -353,10 +343,7 @@ module GRPC | |
| 353 343 | 
             
                    transition_running_state(:running)
         | 
| 354 344 | 
             
                    @run_cond.broadcast
         | 
| 355 345 | 
             
                  end
         | 
| 356 | 
            -
                  remove_signal_handler = GRPC::Signals.register_handler { stop }
         | 
| 357 346 | 
             
                  loop_handle_server_calls
         | 
| 358 | 
            -
                  # Remove signal handler when server stops
         | 
| 359 | 
            -
                  remove_signal_handler.call
         | 
| 360 347 | 
             
                end
         | 
| 361 348 |  | 
| 362 349 | 
             
                alias_method :run_till_terminated, :run
         | 
| @@ -368,7 +355,7 @@ module GRPC | |
| 368 355 | 
             
                  return an_rpc if @pool.jobs_waiting <= @max_waiting_requests
         | 
| 369 356 | 
             
                  GRPC.logger.warn("NOT AVAILABLE: too many jobs_waiting: #{an_rpc}")
         | 
| 370 357 | 
             
                  noop = proc { |x| x }
         | 
| 371 | 
            -
                  c = ActiveCall.new(an_rpc.call,  | 
| 358 | 
            +
                  c = ActiveCall.new(an_rpc.call, an_rpc.cq, noop, noop, an_rpc.deadline)
         | 
| 372 359 | 
             
                  c.send_status(GRPC::Core::StatusCodes::RESOURCE_EXHAUSTED, '')
         | 
| 373 360 | 
             
                  nil
         | 
| 374 361 | 
             
                end
         | 
| @@ -379,7 +366,7 @@ module GRPC | |
| 379 366 | 
             
                  return an_rpc if rpc_descs.key?(mth)
         | 
| 380 367 | 
             
                  GRPC.logger.warn("UNIMPLEMENTED: #{an_rpc}")
         | 
| 381 368 | 
             
                  noop = proc { |x| x }
         | 
| 382 | 
            -
                  c = ActiveCall.new(an_rpc.call,  | 
| 369 | 
            +
                  c = ActiveCall.new(an_rpc.call, an_rpc.cq, noop, noop, an_rpc.deadline)
         | 
| 383 370 | 
             
                  c.send_status(GRPC::Core::StatusCodes::UNIMPLEMENTED, '')
         | 
| 384 371 | 
             
                  nil
         | 
| 385 372 | 
             
                end
         | 
| @@ -390,7 +377,8 @@ module GRPC | |
| 390 377 | 
             
                  loop_tag = Object.new
         | 
| 391 378 | 
             
                  while running_state == :running
         | 
| 392 379 | 
             
                    begin
         | 
| 393 | 
            -
                       | 
| 380 | 
            +
                      comp_queue = Core::CompletionQueue.new
         | 
| 381 | 
            +
                      an_rpc = @server.request_call(comp_queue, loop_tag, INFINITE_FUTURE)
         | 
| 394 382 | 
             
                      break if (!an_rpc.nil?) && an_rpc.call.nil?
         | 
| 395 383 | 
             
                      active_call = new_active_server_call(an_rpc)
         | 
| 396 384 | 
             
                      unless active_call.nil?
         | 
| @@ -429,15 +417,16 @@ module GRPC | |
| 429 417 | 
             
                  unless @connect_md_proc.nil?
         | 
| 430 418 | 
             
                    connect_md = @connect_md_proc.call(an_rpc.method, an_rpc.metadata)
         | 
| 431 419 | 
             
                  end
         | 
| 432 | 
            -
                  an_rpc.call.run_batch( | 
| 420 | 
            +
                  an_rpc.call.run_batch(an_rpc.cq, handle_call_tag, INFINITE_FUTURE,
         | 
| 433 421 | 
             
                                        SEND_INITIAL_METADATA => connect_md)
         | 
| 422 | 
            +
             | 
| 434 423 | 
             
                  return nil unless available?(an_rpc)
         | 
| 435 424 | 
             
                  return nil unless implemented?(an_rpc)
         | 
| 436 425 |  | 
| 437 426 | 
             
                  # Create the ActiveCall
         | 
| 438 427 | 
             
                  GRPC.logger.info("deadline is #{an_rpc.deadline}; (now=#{Time.now})")
         | 
| 439 428 | 
             
                  rpc_desc = rpc_descs[an_rpc.method.to_sym]
         | 
| 440 | 
            -
                  c = ActiveCall.new(an_rpc.call,  | 
| 429 | 
            +
                  c = ActiveCall.new(an_rpc.call, an_rpc.cq,
         | 
| 441 430 | 
             
                                     rpc_desc.marshal_proc, rpc_desc.unmarshal_proc(:input),
         | 
| 442 431 | 
             
                                     an_rpc.deadline)
         | 
| 443 432 | 
             
                  mth = an_rpc.method.to_sym
         | 
| @@ -179,24 +179,24 @@ module GRPC | |
| 179 179 | 
             
                        unmarshal = desc.unmarshal_proc(:output)
         | 
| 180 180 | 
             
                        route = "/#{route_prefix}/#{name}"
         | 
| 181 181 | 
             
                        if desc.request_response?
         | 
| 182 | 
            -
                          define_method(mth_name) do |req,  | 
| 182 | 
            +
                          define_method(mth_name) do |req, metadata = {}|
         | 
| 183 183 | 
             
                            GRPC.logger.debug("calling #{@host}:#{route}")
         | 
| 184 | 
            -
                            request_response(route, req, marshal, unmarshal,  | 
| 184 | 
            +
                            request_response(route, req, marshal, unmarshal, metadata)
         | 
| 185 185 | 
             
                          end
         | 
| 186 186 | 
             
                        elsif desc.client_streamer?
         | 
| 187 | 
            -
                          define_method(mth_name) do |reqs,  | 
| 187 | 
            +
                          define_method(mth_name) do |reqs, metadata = {}|
         | 
| 188 188 | 
             
                            GRPC.logger.debug("calling #{@host}:#{route}")
         | 
| 189 | 
            -
                            client_streamer(route, reqs, marshal, unmarshal,  | 
| 189 | 
            +
                            client_streamer(route, reqs, marshal, unmarshal, metadata)
         | 
| 190 190 | 
             
                          end
         | 
| 191 191 | 
             
                        elsif desc.server_streamer?
         | 
| 192 | 
            -
                          define_method(mth_name) do |req,  | 
| 192 | 
            +
                          define_method(mth_name) do |req, metadata = {}, &blk|
         | 
| 193 193 | 
             
                            GRPC.logger.debug("calling #{@host}:#{route}")
         | 
| 194 | 
            -
                            server_streamer(route, req, marshal, unmarshal,  | 
| 194 | 
            +
                            server_streamer(route, req, marshal, unmarshal, metadata, &blk)
         | 
| 195 195 | 
             
                          end
         | 
| 196 196 | 
             
                        else  # is a bidi_stream
         | 
| 197 | 
            -
                          define_method(mth_name) do |reqs,  | 
| 197 | 
            +
                          define_method(mth_name) do |reqs, metadata = {}, &blk|
         | 
| 198 198 | 
             
                            GRPC.logger.debug("calling #{@host}:#{route}")
         | 
| 199 | 
            -
                            bidi_streamer(route, reqs, marshal, unmarshal,  | 
| 199 | 
            +
                            bidi_streamer(route, reqs, marshal, unmarshal, metadata, &blk)
         | 
| 200 200 | 
             
                          end
         | 
| 201 201 | 
             
                        end
         | 
| 202 202 | 
             
                      end
         | 
    
        data/src/ruby/lib/grpc/grpc_c.so
    CHANGED
    
    | Binary file | 
| @@ -1,5 +1,35 @@ | |
| 1 1 | 
             
            # Generated by the protocol buffer compiler.  DO NOT EDIT!
         | 
| 2 2 | 
             
            # Source: grpc/health/v1/health.proto for package 'grpc.health.v1'
         | 
| 3 | 
            +
            # Original file comments:
         | 
| 4 | 
            +
            # Copyright 2015, Google Inc.
         | 
| 5 | 
            +
            # All rights reserved.
         | 
| 6 | 
            +
            #
         | 
| 7 | 
            +
            # Redistribution and use in source and binary forms, with or without
         | 
| 8 | 
            +
            # modification, are permitted provided that the following conditions are
         | 
| 9 | 
            +
            # met:
         | 
| 10 | 
            +
            #
         | 
| 11 | 
            +
            #     * Redistributions of source code must retain the above copyright
         | 
| 12 | 
            +
            # notice, this list of conditions and the following disclaimer.
         | 
| 13 | 
            +
            #     * Redistributions in binary form must reproduce the above
         | 
| 14 | 
            +
            # copyright notice, this list of conditions and the following disclaimer
         | 
| 15 | 
            +
            # in the documentation and/or other materials provided with the
         | 
| 16 | 
            +
            # distribution.
         | 
| 17 | 
            +
            #     * Neither the name of Google Inc. nor the names of its
         | 
| 18 | 
            +
            # contributors may be used to endorse or promote products derived from
         | 
| 19 | 
            +
            # this software without specific prior written permission.
         | 
| 20 | 
            +
            #
         | 
| 21 | 
            +
            # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
         | 
| 22 | 
            +
            # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
         | 
| 23 | 
            +
            # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
         | 
| 24 | 
            +
            # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
         | 
| 25 | 
            +
            # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
         | 
| 26 | 
            +
            # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
         | 
| 27 | 
            +
            # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
         | 
| 28 | 
            +
            # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
         | 
| 29 | 
            +
            # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
         | 
| 30 | 
            +
            # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
         | 
| 31 | 
            +
            # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
         | 
| 32 | 
            +
            #
         | 
| 3 33 |  | 
| 4 34 | 
             
            require 'grpc'
         | 
| 5 35 | 
             
            require 'grpc/health/v1/health'
         | 
| @@ -8,8 +38,6 @@ module Grpc | |
| 8 38 | 
             
              module Health
         | 
| 9 39 | 
             
                module V1
         | 
| 10 40 | 
             
                  module Health
         | 
| 11 | 
            -
             | 
| 12 | 
            -
                    # TODO: add proto service documentation here
         | 
| 13 41 | 
             
                    class Service
         | 
| 14 42 |  | 
| 15 43 | 
             
                      include GRPC::GenericService
         | 
| @@ -1,15 +1,45 @@ | |
| 1 1 | 
             
            # Generated by the protocol buffer compiler.  DO NOT EDIT!
         | 
| 2 | 
            -
            # Source:  | 
| 2 | 
            +
            # Source: grpc/testing/duplicate/echo_duplicate.proto for package 'grpc.testing.duplicate'
         | 
| 3 | 
            +
            # Original file comments:
         | 
| 4 | 
            +
            # Copyright 2015, Google Inc.
         | 
| 5 | 
            +
            # All rights reserved.
         | 
| 6 | 
            +
            #
         | 
| 7 | 
            +
            # Redistribution and use in source and binary forms, with or without
         | 
| 8 | 
            +
            # modification, are permitted provided that the following conditions are
         | 
| 9 | 
            +
            # met:
         | 
| 10 | 
            +
            #
         | 
| 11 | 
            +
            #     * Redistributions of source code must retain the above copyright
         | 
| 12 | 
            +
            # notice, this list of conditions and the following disclaimer.
         | 
| 13 | 
            +
            #     * Redistributions in binary form must reproduce the above
         | 
| 14 | 
            +
            # copyright notice, this list of conditions and the following disclaimer
         | 
| 15 | 
            +
            # in the documentation and/or other materials provided with the
         | 
| 16 | 
            +
            # distribution.
         | 
| 17 | 
            +
            #     * Neither the name of Google Inc. nor the names of its
         | 
| 18 | 
            +
            # contributors may be used to endorse or promote products derived from
         | 
| 19 | 
            +
            # this software without specific prior written permission.
         | 
| 20 | 
            +
            #
         | 
| 21 | 
            +
            # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
         | 
| 22 | 
            +
            # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
         | 
| 23 | 
            +
            # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
         | 
| 24 | 
            +
            # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
         | 
| 25 | 
            +
            # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
         | 
| 26 | 
            +
            # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
         | 
| 27 | 
            +
            # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
         | 
| 28 | 
            +
            # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
         | 
| 29 | 
            +
            # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
         | 
| 30 | 
            +
            # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
         | 
| 31 | 
            +
            # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
         | 
| 32 | 
            +
            #
         | 
| 33 | 
            +
            # This is a partial copy of echo.proto with a different package name.
         | 
| 34 | 
            +
            #
         | 
| 3 35 |  | 
| 4 36 | 
             
            require 'grpc'
         | 
| 5 | 
            -
            require ' | 
| 37 | 
            +
            require 'grpc/testing/duplicate/echo_duplicate'
         | 
| 6 38 |  | 
| 7 39 | 
             
            module Grpc
         | 
| 8 40 | 
             
              module Testing
         | 
| 9 41 | 
             
                module Duplicate
         | 
| 10 42 | 
             
                  module EchoTestService
         | 
| 11 | 
            -
             | 
| 12 | 
            -
                    # TODO: add proto service documentation here
         | 
| 13 43 | 
             
                    class Service
         | 
| 14 44 |  | 
| 15 45 | 
             
                      include GRPC::GenericService
         | 
| @@ -1,5 +1,41 @@ | |
| 1 1 | 
             
            # Generated by the protocol buffer compiler.  DO NOT EDIT!
         | 
| 2 2 | 
             
            # Source: grpc/testing/metrics.proto for package 'grpc.testing'
         | 
| 3 | 
            +
            # Original file comments:
         | 
| 4 | 
            +
            # Copyright 2015-2016, Google Inc.
         | 
| 5 | 
            +
            # All rights reserved.
         | 
| 6 | 
            +
            #
         | 
| 7 | 
            +
            # Redistribution and use in source and binary forms, with or without
         | 
| 8 | 
            +
            # modification, are permitted provided that the following conditions are
         | 
| 9 | 
            +
            # met:
         | 
| 10 | 
            +
            #
         | 
| 11 | 
            +
            #     * Redistributions of source code must retain the above copyright
         | 
| 12 | 
            +
            # notice, this list of conditions and the following disclaimer.
         | 
| 13 | 
            +
            #     * Redistributions in binary form must reproduce the above
         | 
| 14 | 
            +
            # copyright notice, this list of conditions and the following disclaimer
         | 
| 15 | 
            +
            # in the documentation and/or other materials provided with the
         | 
| 16 | 
            +
            # distribution.
         | 
| 17 | 
            +
            #     * Neither the name of Google Inc. nor the names of its
         | 
| 18 | 
            +
            # contributors may be used to endorse or promote products derived from
         | 
| 19 | 
            +
            # this software without specific prior written permission.
         | 
| 20 | 
            +
            #
         | 
| 21 | 
            +
            # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
         | 
| 22 | 
            +
            # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
         | 
| 23 | 
            +
            # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
         | 
| 24 | 
            +
            # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
         | 
| 25 | 
            +
            # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
         | 
| 26 | 
            +
            # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
         | 
| 27 | 
            +
            # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
         | 
| 28 | 
            +
            # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
         | 
| 29 | 
            +
            # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
         | 
| 30 | 
            +
            # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
         | 
| 31 | 
            +
            # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
         | 
| 32 | 
            +
            #
         | 
| 33 | 
            +
            # Contains the definitions for a metrics service and the type of metrics
         | 
| 34 | 
            +
            # exposed by the service.
         | 
| 35 | 
            +
            #
         | 
| 36 | 
            +
            # Currently, 'Gauge' (i.e a metric that represents the measured value of
         | 
| 37 | 
            +
            # something at an instant of time) is the only metric type supported by the
         | 
| 38 | 
            +
            # service.
         | 
| 3 39 |  | 
| 4 40 | 
             
            require 'grpc'
         | 
| 5 41 | 
             
            require 'grpc/testing/metrics'
         | 
| @@ -7,8 +43,6 @@ require 'grpc/testing/metrics' | |
| 7 43 | 
             
            module Grpc
         | 
| 8 44 | 
             
              module Testing
         | 
| 9 45 | 
             
                module MetricsService
         | 
| 10 | 
            -
             | 
| 11 | 
            -
                  # TODO: add proto service documentation here
         | 
| 12 46 | 
             
                  class Service
         | 
| 13 47 |  | 
| 14 48 | 
             
                    include GRPC::GenericService
         | 
| @@ -17,7 +51,10 @@ module Grpc | |
| 17 51 | 
             
                    self.unmarshal_class_method = :decode
         | 
| 18 52 | 
             
                    self.service_name = 'grpc.testing.MetricsService'
         | 
| 19 53 |  | 
| 54 | 
            +
                    # Returns the values of all the gauges that are currently being maintained by
         | 
| 55 | 
            +
                    # the service
         | 
| 20 56 | 
             
                    rpc :GetAllGauges, EmptyMessage, stream(GaugeResponse)
         | 
| 57 | 
            +
                    # Returns the value of one gauge
         | 
| 21 58 | 
             
                    rpc :GetGauge, GaugeRequest, GaugeResponse
         | 
| 22 59 | 
             
                  end
         | 
| 23 60 |  | 
| @@ -0,0 +1,15 @@ | |
| 1 | 
            +
            # Generated by the protocol buffer compiler.  DO NOT EDIT!
         | 
| 2 | 
            +
            # source: src/proto/grpc/testing/empty.proto
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            require 'google/protobuf'
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            Google::Protobuf::DescriptorPool.generated_pool.build do
         | 
| 7 | 
            +
              add_message "grpc.testing.Empty" do
         | 
| 8 | 
            +
              end
         | 
| 9 | 
            +
            end
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            module Grpc
         | 
| 12 | 
            +
              module Testing
         | 
| 13 | 
            +
                Empty = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.Empty").msgclass
         | 
| 14 | 
            +
              end
         | 
| 15 | 
            +
            end
         | 
| @@ -0,0 +1,84 @@ | |
| 1 | 
            +
            # Generated by the protocol buffer compiler.  DO NOT EDIT!
         | 
| 2 | 
            +
            # source: src/proto/grpc/testing/messages.proto
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            require 'google/protobuf'
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            Google::Protobuf::DescriptorPool.generated_pool.build do
         | 
| 7 | 
            +
              add_message "grpc.testing.Payload" do
         | 
| 8 | 
            +
                optional :type, :enum, 1, "grpc.testing.PayloadType"
         | 
| 9 | 
            +
                optional :body, :bytes, 2
         | 
| 10 | 
            +
              end
         | 
| 11 | 
            +
              add_message "grpc.testing.EchoStatus" do
         | 
| 12 | 
            +
                optional :code, :int32, 1
         | 
| 13 | 
            +
                optional :message, :string, 2
         | 
| 14 | 
            +
              end
         | 
| 15 | 
            +
              add_message "grpc.testing.SimpleRequest" do
         | 
| 16 | 
            +
                optional :response_type, :enum, 1, "grpc.testing.PayloadType"
         | 
| 17 | 
            +
                optional :response_size, :int32, 2
         | 
| 18 | 
            +
                optional :payload, :message, 3, "grpc.testing.Payload"
         | 
| 19 | 
            +
                optional :fill_username, :bool, 4
         | 
| 20 | 
            +
                optional :fill_oauth_scope, :bool, 5
         | 
| 21 | 
            +
                optional :response_compression, :enum, 6, "grpc.testing.CompressionType"
         | 
| 22 | 
            +
                optional :response_status, :message, 7, "grpc.testing.EchoStatus"
         | 
| 23 | 
            +
              end
         | 
| 24 | 
            +
              add_message "grpc.testing.SimpleResponse" do
         | 
| 25 | 
            +
                optional :payload, :message, 1, "grpc.testing.Payload"
         | 
| 26 | 
            +
                optional :username, :string, 2
         | 
| 27 | 
            +
                optional :oauth_scope, :string, 3
         | 
| 28 | 
            +
              end
         | 
| 29 | 
            +
              add_message "grpc.testing.StreamingInputCallRequest" do
         | 
| 30 | 
            +
                optional :payload, :message, 1, "grpc.testing.Payload"
         | 
| 31 | 
            +
              end
         | 
| 32 | 
            +
              add_message "grpc.testing.StreamingInputCallResponse" do
         | 
| 33 | 
            +
                optional :aggregated_payload_size, :int32, 1
         | 
| 34 | 
            +
              end
         | 
| 35 | 
            +
              add_message "grpc.testing.ResponseParameters" do
         | 
| 36 | 
            +
                optional :size, :int32, 1
         | 
| 37 | 
            +
                optional :interval_us, :int32, 2
         | 
| 38 | 
            +
              end
         | 
| 39 | 
            +
              add_message "grpc.testing.StreamingOutputCallRequest" do
         | 
| 40 | 
            +
                optional :response_type, :enum, 1, "grpc.testing.PayloadType"
         | 
| 41 | 
            +
                repeated :response_parameters, :message, 2, "grpc.testing.ResponseParameters"
         | 
| 42 | 
            +
                optional :payload, :message, 3, "grpc.testing.Payload"
         | 
| 43 | 
            +
                optional :response_compression, :enum, 6, "grpc.testing.CompressionType"
         | 
| 44 | 
            +
                optional :response_status, :message, 7, "grpc.testing.EchoStatus"
         | 
| 45 | 
            +
              end
         | 
| 46 | 
            +
              add_message "grpc.testing.StreamingOutputCallResponse" do
         | 
| 47 | 
            +
                optional :payload, :message, 1, "grpc.testing.Payload"
         | 
| 48 | 
            +
              end
         | 
| 49 | 
            +
              add_message "grpc.testing.ReconnectParams" do
         | 
| 50 | 
            +
                optional :max_reconnect_backoff_ms, :int32, 1
         | 
| 51 | 
            +
              end
         | 
| 52 | 
            +
              add_message "grpc.testing.ReconnectInfo" do
         | 
| 53 | 
            +
                optional :passed, :bool, 1
         | 
| 54 | 
            +
                repeated :backoff_ms, :int32, 2
         | 
| 55 | 
            +
              end
         | 
| 56 | 
            +
              add_enum "grpc.testing.PayloadType" do
         | 
| 57 | 
            +
                value :COMPRESSABLE, 0
         | 
| 58 | 
            +
                value :UNCOMPRESSABLE, 1
         | 
| 59 | 
            +
                value :RANDOM, 2
         | 
| 60 | 
            +
              end
         | 
| 61 | 
            +
              add_enum "grpc.testing.CompressionType" do
         | 
| 62 | 
            +
                value :NONE, 0
         | 
| 63 | 
            +
                value :GZIP, 1
         | 
| 64 | 
            +
                value :DEFLATE, 2
         | 
| 65 | 
            +
              end
         | 
| 66 | 
            +
            end
         | 
| 67 | 
            +
             | 
| 68 | 
            +
            module Grpc
         | 
| 69 | 
            +
              module Testing
         | 
| 70 | 
            +
                Payload = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.Payload").msgclass
         | 
| 71 | 
            +
                EchoStatus = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.EchoStatus").msgclass
         | 
| 72 | 
            +
                SimpleRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.SimpleRequest").msgclass
         | 
| 73 | 
            +
                SimpleResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.SimpleResponse").msgclass
         | 
| 74 | 
            +
                StreamingInputCallRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.StreamingInputCallRequest").msgclass
         | 
| 75 | 
            +
                StreamingInputCallResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.StreamingInputCallResponse").msgclass
         | 
| 76 | 
            +
                ResponseParameters = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.ResponseParameters").msgclass
         | 
| 77 | 
            +
                StreamingOutputCallRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.StreamingOutputCallRequest").msgclass
         | 
| 78 | 
            +
                StreamingOutputCallResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.StreamingOutputCallResponse").msgclass
         | 
| 79 | 
            +
                ReconnectParams = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.ReconnectParams").msgclass
         | 
| 80 | 
            +
                ReconnectInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.ReconnectInfo").msgclass
         | 
| 81 | 
            +
                PayloadType = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.PayloadType").enummodule
         | 
| 82 | 
            +
                CompressionType = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.CompressionType").enummodule
         | 
| 83 | 
            +
              end
         | 
| 84 | 
            +
            end
         | 
| @@ -0,0 +1,14 @@ | |
| 1 | 
            +
            # Generated by the protocol buffer compiler.  DO NOT EDIT!
         | 
| 2 | 
            +
            # source: src/proto/grpc/testing/test.proto
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            require 'google/protobuf'
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            require 'src/proto/grpc/testing/empty'
         | 
| 7 | 
            +
            require 'src/proto/grpc/testing/messages'
         | 
| 8 | 
            +
            Google::Protobuf::DescriptorPool.generated_pool.build do
         | 
| 9 | 
            +
            end
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            module Grpc
         | 
| 12 | 
            +
              module Testing
         | 
| 13 | 
            +
              end
         | 
| 14 | 
            +
            end
         |