grpc 0.13.1-x86-linux → 0.14.1.pre1-x86-linux
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/ext/grpc/extconf.rb +14 -20
- data/src/ruby/ext/grpc/rb_byte_buffer.c +2 -3
- data/src/ruby/ext/grpc/rb_call.c +37 -4
- data/src/ruby/ext/grpc/rb_call_credentials.c +13 -3
- data/src/ruby/ext/grpc/rb_channel.c +2 -3
- data/src/ruby/ext/grpc/rb_channel_args.c +2 -3
- data/src/ruby/ext/grpc/rb_channel_credentials.c +31 -3
- data/src/ruby/ext/grpc/rb_completion_queue.c +2 -2
- data/src/ruby/ext/grpc/rb_event_thread.c +1 -1
- data/src/ruby/ext/grpc/rb_grpc.c +4 -2
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +8 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +14 -2
- data/src/ruby/ext/grpc/rb_server.c +2 -3
- data/src/ruby/ext/grpc/rb_server_credentials.c +16 -13
- data/src/ruby/ext/grpc/rb_signal.c +70 -0
- data/src/ruby/ext/grpc/rb_signal.h +39 -0
- data/src/ruby/lib/grpc.rb +21 -13
- 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/core/time_consts.rb +2 -2
- data/src/ruby/lib/grpc/errors.rb +2 -2
- data/src/ruby/lib/grpc/generic/active_call.rb +10 -3
- data/src/ruby/lib/grpc/generic/bidi_call.rb +2 -2
- data/src/ruby/lib/grpc/generic/client_stub.rb +10 -7
- data/src/ruby/lib/grpc/generic/rpc_desc.rb +2 -2
- data/src/ruby/lib/grpc/generic/rpc_server.rb +21 -61
- data/src/ruby/lib/grpc/generic/service.rb +5 -15
- data/src/ruby/lib/grpc/grpc.rb +3 -3
- data/src/ruby/lib/grpc/grpc_c.so +0 -0
- data/src/ruby/{bin/interop/interop_client.rb → lib/grpc/signals.rb} +39 -21
- data/src/ruby/lib/grpc/version.rb +2 -2
- data/src/ruby/pb/generate_proto_ruby.sh +9 -2
- data/src/ruby/pb/grpc/health/checker.rb +1 -1
- data/src/ruby/pb/grpc/testing/duplicate/echo_duplicate_services.rb +28 -0
- data/src/ruby/pb/grpc/testing/metrics.rb +28 -0
- data/src/ruby/pb/grpc/testing/metrics_services.rb +27 -0
- data/src/ruby/pb/test/client.rb +12 -23
- data/src/ruby/pb/test/server.rb +1 -1
- data/src/ruby/spec/client_server_spec.rb +1 -1
- data/src/ruby/spec/generic/client_stub_spec.rb +18 -17
- data/src/ruby/spec/generic/rpc_server_spec.rb +23 -7
- data/src/ruby/spec/generic/service_spec.rb +0 -69
- data/src/ruby/{bin/interop/interop_server.rb → spec/pb/duplicate/codegen_spec.rb} +41 -20
- data/src/ruby/spec/pb/health/checker_spec.rb +1 -1
- metadata +27 -15
- data/src/ruby/bin/grpc_ruby_interop_client +0 -33
- data/src/ruby/bin/grpc_ruby_interop_server +0 -33
    
        data/src/ruby/pb/test/server.rb
    CHANGED
    
    | @@ -39,7 +39,7 @@ | |
| 39 39 |  | 
| 40 40 | 
             
            this_dir = File.expand_path(File.dirname(__FILE__))
         | 
| 41 41 | 
             
            lib_dir = File.join(File.dirname(File.dirname(this_dir)), 'lib')
         | 
| 42 | 
            -
            pb_dir = File.dirname( | 
| 42 | 
            +
            pb_dir = File.dirname(this_dir)
         | 
| 43 43 | 
             
            $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
         | 
| 44 44 | 
             
            $LOAD_PATH.unshift(pb_dir) unless $LOAD_PATH.include?(pb_dir)
         | 
| 45 45 | 
             
            $LOAD_PATH.unshift(this_dir) unless $LOAD_PATH.include?(this_dir)
         | 
| @@ -193,44 +193,45 @@ describe 'ClientStub' do | |
| 193 193 | 
             
              describe '#client_streamer' do
         | 
| 194 194 | 
             
                shared_examples 'client streaming' do
         | 
| 195 195 | 
             
                  before(:each) do
         | 
| 196 | 
            +
                    server_port = create_test_server
         | 
| 197 | 
            +
                    host = "localhost:#{server_port}"
         | 
| 198 | 
            +
                    @stub = GRPC::ClientStub.new(host, @cq, :this_channel_is_insecure)
         | 
| 199 | 
            +
                    @options = { k1: 'v1', k2: 'v2' }
         | 
| 196 200 | 
             
                    @sent_msgs = Array.new(3) { |i| 'msg_' + (i + 1).to_s }
         | 
| 197 201 | 
             
                    @resp = 'a_reply'
         | 
| 198 202 | 
             
                  end
         | 
| 199 203 |  | 
| 200 204 | 
             
                  it 'should send requests to/receive a reply from a server' do
         | 
| 201 | 
            -
                    server_port = create_test_server
         | 
| 202 | 
            -
                    host = "localhost:#{server_port}"
         | 
| 203 205 | 
             
                    th = run_client_streamer(@sent_msgs, @resp, @pass)
         | 
| 204 | 
            -
                    stub  | 
| 205 | 
            -
                    expect(get_response(stub)).to eq(@resp)
         | 
| 206 | 
            +
                    expect(get_response(@stub)).to eq(@resp)
         | 
| 206 207 | 
             
                    th.join
         | 
| 207 208 | 
             
                  end
         | 
| 208 209 |  | 
| 209 210 | 
             
                  it 'should send metadata to the server ok' do
         | 
| 210 | 
            -
                     | 
| 211 | 
            -
                     | 
| 212 | 
            -
                    th = run_client_streamer(@sent_msgs, @resp, @pass,
         | 
| 213 | 
            -
                                             k1: 'v1', k2: 'v2')
         | 
| 214 | 
            -
                    stub = GRPC::ClientStub.new(host, @cq, :this_channel_is_insecure)
         | 
| 215 | 
            -
                    expect(get_response(stub)).to eq(@resp)
         | 
| 211 | 
            +
                    th = run_client_streamer(@sent_msgs, @resp, @pass, @options)
         | 
| 212 | 
            +
                    expect(get_response(@stub)).to eq(@resp)
         | 
| 216 213 | 
             
                    th.join
         | 
| 217 214 | 
             
                  end
         | 
| 218 215 |  | 
| 219 216 | 
             
                  it 'should raise an error if the status is not ok' do
         | 
| 220 | 
            -
                    server_port = create_test_server
         | 
| 221 | 
            -
                    host = "localhost:#{server_port}"
         | 
| 222 217 | 
             
                    th = run_client_streamer(@sent_msgs, @resp, @fail)
         | 
| 223 | 
            -
                     | 
| 224 | 
            -
                    blk = proc { get_response(stub) }
         | 
| 218 | 
            +
                    blk = proc { get_response(@stub) }
         | 
| 225 219 | 
             
                    expect(&blk).to raise_error(GRPC::BadStatus)
         | 
| 226 220 | 
             
                    th.join
         | 
| 227 221 | 
             
                  end
         | 
| 222 | 
            +
             | 
| 223 | 
            +
                  it 'should raise ArgumentError if metadata contains invalid values' do
         | 
| 224 | 
            +
                    @options.merge!(k3: 3)
         | 
| 225 | 
            +
                    expect do
         | 
| 226 | 
            +
                      get_response(@stub)
         | 
| 227 | 
            +
                    end.to raise_error(ArgumentError,
         | 
| 228 | 
            +
                                       /Header values must be of type string or array/)
         | 
| 229 | 
            +
                  end
         | 
| 228 230 | 
             
                end
         | 
| 229 231 |  | 
| 230 232 | 
             
                describe 'without a call operation' do
         | 
| 231 233 | 
             
                  def get_response(stub)
         | 
| 232 | 
            -
                    stub.client_streamer(@method, @sent_msgs, noop, noop,
         | 
| 233 | 
            -
                                         k1: 'v1', k2: 'v2')
         | 
| 234 | 
            +
                    stub.client_streamer(@method, @sent_msgs, noop, noop, @options)
         | 
| 234 235 | 
             
                  end
         | 
| 235 236 |  | 
| 236 237 | 
             
                  it_behaves_like 'client streaming'
         | 
| @@ -239,7 +240,7 @@ describe 'ClientStub' do | |
| 239 240 | 
             
                describe 'via a call operation' do
         | 
| 240 241 | 
             
                  def get_response(stub)
         | 
| 241 242 | 
             
                    op = stub.client_streamer(@method, @sent_msgs, noop, noop,
         | 
| 242 | 
            -
                                              return_op: true | 
| 243 | 
            +
                                              @options.merge(return_op: true))
         | 
| 243 244 | 
             
                    expect(op).to be_a(GRPC::ActiveCall::Operation)
         | 
| 244 245 | 
             
                    op.execute
         | 
| 245 246 | 
             
                  end
         | 
| @@ -1,4 +1,4 @@ | |
| 1 | 
            -
            # Copyright 2015 | 
| 1 | 
            +
            # Copyright 2015, Google Inc.
         | 
| 2 2 | 
             
            # All rights reserved.
         | 
| 3 3 | 
             
            #
         | 
| 4 4 | 
             
            # Redistribution and use in source and binary forms, with or without
         | 
| @@ -308,10 +308,6 @@ describe GRPC::RpcServer do | |
| 308 308 | 
             
                  expect { @srv.handle(EmptyService) }.to raise_error
         | 
| 309 309 | 
             
                end
         | 
| 310 310 |  | 
| 311 | 
            -
                it 'raises if the service does not define its rpc methods' do
         | 
| 312 | 
            -
                  expect { @srv.handle(NoRpcImplementation) }.to raise_error
         | 
| 313 | 
            -
                end
         | 
| 314 | 
            -
             | 
| 315 311 | 
             
                it 'raises if a handler method is already registered' do
         | 
| 316 312 | 
             
                  @srv.handle(EchoService)
         | 
| 317 313 | 
             
                  expect { r.handle(EchoService) }.to raise_error
         | 
| @@ -349,6 +345,25 @@ describe GRPC::RpcServer do | |
| 349 345 | 
             
                    t.join
         | 
| 350 346 | 
             
                  end
         | 
| 351 347 |  | 
| 348 | 
            +
                  it 'should return UNIMPLEMENTED on unimplemented methods', server: true do
         | 
| 349 | 
            +
                    @srv.handle(NoRpcImplementation)
         | 
| 350 | 
            +
                    t = Thread.new { @srv.run }
         | 
| 351 | 
            +
                    @srv.wait_till_running
         | 
| 352 | 
            +
                    req = EchoMsg.new
         | 
| 353 | 
            +
                    blk = proc do
         | 
| 354 | 
            +
                      cq = GRPC::Core::CompletionQueue.new
         | 
| 355 | 
            +
                      stub = GRPC::ClientStub.new(@host, cq, :this_channel_is_insecure,
         | 
| 356 | 
            +
                                                  **client_opts)
         | 
| 357 | 
            +
                      stub.request_response('/an_rpc', req, marshal, unmarshal)
         | 
| 358 | 
            +
                    end
         | 
| 359 | 
            +
                    expect(&blk).to raise_error do |error|
         | 
| 360 | 
            +
                      expect(error).to be_a(GRPC::BadStatus)
         | 
| 361 | 
            +
                      expect(error.code).to be(GRPC::Core::StatusCodes::UNIMPLEMENTED)
         | 
| 362 | 
            +
                    end
         | 
| 363 | 
            +
                    @srv.stop
         | 
| 364 | 
            +
                    t.join
         | 
| 365 | 
            +
                  end
         | 
| 366 | 
            +
             | 
| 352 367 | 
             
                  it 'should handle multiple sequential requests', server: true do
         | 
| 353 368 | 
             
                    @srv.handle(EchoService)
         | 
| 354 369 | 
             
                    t = Thread.new { @srv.run }
         | 
| @@ -426,7 +441,7 @@ describe GRPC::RpcServer do | |
| 426 441 | 
             
                    threads.each(&:join)
         | 
| 427 442 | 
             
                  end
         | 
| 428 443 |  | 
| 429 | 
            -
                  it 'should return  | 
| 444 | 
            +
                  it 'should return RESOURCE_EXHAUSTED on too many jobs', server: true do
         | 
| 430 445 | 
             
                    opts = {
         | 
| 431 446 | 
             
                      a_channel_arg: 'an_arg',
         | 
| 432 447 | 
             
                      server_override: @server,
         | 
| @@ -449,7 +464,8 @@ describe GRPC::RpcServer do | |
| 449 464 | 
             
                        begin
         | 
| 450 465 | 
             
                          stub.an_rpc(req)
         | 
| 451 466 | 
             
                        rescue GRPC::BadStatus => e
         | 
| 452 | 
            -
                          one_failed_as_unavailable = | 
| 467 | 
            +
                          one_failed_as_unavailable =
         | 
| 468 | 
            +
                            e.code == StatusCodes::RESOURCE_EXHAUSTED
         | 
| 453 469 | 
             
                        end
         | 
| 454 470 | 
             
                      end
         | 
| 455 471 | 
             
                    end
         | 
| @@ -273,73 +273,4 @@ describe GenericService do | |
| 273 273 | 
             
                  end
         | 
| 274 274 | 
             
                end
         | 
| 275 275 | 
             
              end
         | 
| 276 | 
            -
             | 
| 277 | 
            -
              describe '#assert_rpc_descs_have_methods' do
         | 
| 278 | 
            -
                it 'fails if there is no instance method for an rpc descriptor' do
         | 
| 279 | 
            -
                  c1 = Class.new do
         | 
| 280 | 
            -
                    include GenericService
         | 
| 281 | 
            -
                    rpc :AnRpc, GoodMsg, GoodMsg
         | 
| 282 | 
            -
                  end
         | 
| 283 | 
            -
                  expect { c1.assert_rpc_descs_have_methods }.to raise_error
         | 
| 284 | 
            -
             | 
| 285 | 
            -
                  c2 = Class.new do
         | 
| 286 | 
            -
                    include GenericService
         | 
| 287 | 
            -
                    rpc :AnRpc, GoodMsg, GoodMsg
         | 
| 288 | 
            -
                    rpc :AnotherRpc, GoodMsg, GoodMsg
         | 
| 289 | 
            -
             | 
| 290 | 
            -
                    def an_rpc
         | 
| 291 | 
            -
                    end
         | 
| 292 | 
            -
                  end
         | 
| 293 | 
            -
                  expect { c2.assert_rpc_descs_have_methods }.to raise_error
         | 
| 294 | 
            -
                end
         | 
| 295 | 
            -
             | 
| 296 | 
            -
                it 'passes if there are corresponding methods for each descriptor' do
         | 
| 297 | 
            -
                  c = Class.new do
         | 
| 298 | 
            -
                    include GenericService
         | 
| 299 | 
            -
                    rpc :AnRpc, GoodMsg, GoodMsg
         | 
| 300 | 
            -
                    rpc :AServerStreamer, GoodMsg, stream(GoodMsg)
         | 
| 301 | 
            -
                    rpc :AClientStreamer, stream(GoodMsg), GoodMsg
         | 
| 302 | 
            -
                    rpc :ABidiStreamer, stream(GoodMsg), stream(GoodMsg)
         | 
| 303 | 
            -
             | 
| 304 | 
            -
                    def an_rpc(_req, _call)
         | 
| 305 | 
            -
                    end
         | 
| 306 | 
            -
             | 
| 307 | 
            -
                    def a_server_streamer(_req, _call)
         | 
| 308 | 
            -
                    end
         | 
| 309 | 
            -
             | 
| 310 | 
            -
                    def a_client_streamer(_call)
         | 
| 311 | 
            -
                    end
         | 
| 312 | 
            -
             | 
| 313 | 
            -
                    def a_bidi_streamer(_call)
         | 
| 314 | 
            -
                    end
         | 
| 315 | 
            -
                  end
         | 
| 316 | 
            -
                  expect { c.assert_rpc_descs_have_methods }.to_not raise_error
         | 
| 317 | 
            -
                end
         | 
| 318 | 
            -
             | 
| 319 | 
            -
                it 'passes for subclasses of that include GenericService' do
         | 
| 320 | 
            -
                  base = Class.new do
         | 
| 321 | 
            -
                    include GenericService
         | 
| 322 | 
            -
                    rpc :AnRpc, GoodMsg, GoodMsg
         | 
| 323 | 
            -
             | 
| 324 | 
            -
                    def an_rpc(_req, _call)
         | 
| 325 | 
            -
                    end
         | 
| 326 | 
            -
                  end
         | 
| 327 | 
            -
                  c = Class.new(base)
         | 
| 328 | 
            -
                  expect { c.assert_rpc_descs_have_methods }.to_not raise_error
         | 
| 329 | 
            -
                  expect(c.include?(GenericService)).to be(true)
         | 
| 330 | 
            -
                end
         | 
| 331 | 
            -
             | 
| 332 | 
            -
                it 'passes if subclasses define the rpc methods' do
         | 
| 333 | 
            -
                  base = Class.new do
         | 
| 334 | 
            -
                    include GenericService
         | 
| 335 | 
            -
                    rpc :AnRpc, GoodMsg, GoodMsg
         | 
| 336 | 
            -
                  end
         | 
| 337 | 
            -
                  c = Class.new(base) do
         | 
| 338 | 
            -
                    def an_rpc(_req, _call)
         | 
| 339 | 
            -
                    end
         | 
| 340 | 
            -
                  end
         | 
| 341 | 
            -
                  expect { c.assert_rpc_descs_have_methods }.to_not raise_error
         | 
| 342 | 
            -
                  expect(c.include?(GenericService)).to be(true)
         | 
| 343 | 
            -
                end
         | 
| 344 | 
            -
              end
         | 
| 345 276 | 
             
            end
         | 
| @@ -1,6 +1,4 @@ | |
| 1 | 
            -
             | 
| 2 | 
            -
             | 
| 3 | 
            -
            # Copyright 2015, Google Inc.
         | 
| 1 | 
            +
            # Copyright 2016, Google Inc.
         | 
| 4 2 | 
             
            # All rights reserved.
         | 
| 5 3 | 
             
            #
         | 
| 6 4 | 
             
            # Redistribution and use in source and binary forms, with or without
         | 
| @@ -29,22 +27,45 @@ | |
| 29 27 | 
             
            # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
         | 
| 30 28 | 
             
            # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
         | 
| 31 29 |  | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
             | 
| 36 | 
            -
             | 
| 37 | 
            -
             | 
| 38 | 
            -
             | 
| 39 | 
            -
             | 
| 40 | 
            -
             | 
| 41 | 
            -
             | 
| 42 | 
            -
             | 
| 43 | 
            -
             | 
| 44 | 
            -
             | 
| 30 | 
            +
            require 'open3'
         | 
| 31 | 
            +
            require 'tmpdir'
         | 
| 32 | 
            +
             | 
| 33 | 
            +
            def can_run_codegen_check
         | 
| 34 | 
            +
              system('which grpc_ruby_plugin') && system('which protoc')
         | 
| 35 | 
            +
            end
         | 
| 36 | 
            +
             | 
| 37 | 
            +
            describe 'Ping protobuf code generation' do
         | 
| 38 | 
            +
              if !can_run_codegen_check
         | 
| 39 | 
            +
                skip 'protoc || grpc_ruby_plugin missing, cannot verify ping code-gen'
         | 
| 40 | 
            +
              else
         | 
| 41 | 
            +
                it 'should have the same content as created by code generation' do
         | 
| 42 | 
            +
                  root_dir = File.join(File.dirname(__FILE__), '..', '..', '..', '..', '..')
         | 
| 45 43 |  | 
| 46 | 
            -
             | 
| 47 | 
            -
             | 
| 48 | 
            -
             | 
| 44 | 
            +
                  # Get the current content
         | 
| 45 | 
            +
                  service_path = File.join(root_dir, 'src', 'ruby', 'pb', 'grpc',
         | 
| 46 | 
            +
                                           'testing', 'duplicate',
         | 
| 47 | 
            +
                                           'echo_duplicate_services.rb')
         | 
| 48 | 
            +
                  want = nil
         | 
| 49 | 
            +
                  File.open(service_path) { |f| want = f.read }
         | 
| 49 50 |  | 
| 50 | 
            -
             | 
| 51 | 
            +
                  # Regenerate it
         | 
| 52 | 
            +
                  plugin, = Open3.capture2('which', 'grpc_ruby_plugin')
         | 
| 53 | 
            +
                  plugin = plugin.strip
         | 
| 54 | 
            +
                  got = nil
         | 
| 55 | 
            +
                  Dir.mktmpdir do |tmp_dir|
         | 
| 56 | 
            +
                    gen_out = File.join(tmp_dir, 'src', 'proto', 'grpc', 'testing',
         | 
| 57 | 
            +
                                        'duplicate', 'echo_duplicate_services.rb')
         | 
| 58 | 
            +
                    pid = spawn(
         | 
| 59 | 
            +
                      'protoc',
         | 
| 60 | 
            +
                      '-I.',
         | 
| 61 | 
            +
                      'src/proto/grpc/testing/duplicate/echo_duplicate.proto',
         | 
| 62 | 
            +
                      "--grpc_out=#{tmp_dir}",
         | 
| 63 | 
            +
                      "--plugin=protoc-gen-grpc=#{plugin}",
         | 
| 64 | 
            +
                      chdir: root_dir)
         | 
| 65 | 
            +
                    Process.wait(pid)
         | 
| 66 | 
            +
                    File.open(gen_out) { |f| got = f.read }
         | 
| 67 | 
            +
                  end
         | 
| 68 | 
            +
                  expect(got).to eq(want)
         | 
| 69 | 
            +
                end
         | 
| 70 | 
            +
              end
         | 
| 71 | 
            +
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: grpc
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.14.1.pre1
         | 
| 5 5 | 
             
            platform: x86-linux
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - gRPC Authors
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: src/ruby/bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2016- | 
| 11 | 
            +
            date: 2016-05-10 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: google-protobuf
         | 
| @@ -52,6 +52,20 @@ dependencies: | |
| 52 52 | 
             
                - - "~>"
         | 
| 53 53 | 
             
                  - !ruby/object:Gem::Version
         | 
| 54 54 | 
             
                    version: '1.9'
         | 
| 55 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 56 | 
            +
              name: facter
         | 
| 57 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 58 | 
            +
                requirements:
         | 
| 59 | 
            +
                - - "~>"
         | 
| 60 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 61 | 
            +
                    version: '2.4'
         | 
| 62 | 
            +
              type: :development
         | 
| 63 | 
            +
              prerelease: false
         | 
| 64 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 65 | 
            +
                requirements:
         | 
| 66 | 
            +
                - - "~>"
         | 
| 67 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 68 | 
            +
                    version: '2.4'
         | 
| 55 69 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 56 70 | 
             
              name: logging
         | 
| 57 71 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -166,13 +180,7 @@ dependencies: | |
| 166 180 | 
             
                    version: 0.7.0
         | 
| 167 181 | 
             
            description: Send RPCs from Ruby using GRPC
         | 
| 168 182 | 
             
            email: temiola@google.com
         | 
| 169 | 
            -
            executables:
         | 
| 170 | 
            -
            - math_client.rb
         | 
| 171 | 
            -
            - math_server.rb
         | 
| 172 | 
            -
            - noproto_client.rb
         | 
| 173 | 
            -
            - noproto_server.rb
         | 
| 174 | 
            -
            - grpc_ruby_interop_client
         | 
| 175 | 
            -
            - grpc_ruby_interop_server
         | 
| 183 | 
            +
            executables: []
         | 
| 176 184 | 
             
            extensions: []
         | 
| 177 185 | 
             
            extra_rdoc_files: []
         | 
| 178 186 | 
             
            files:
         | 
| @@ -183,10 +191,6 @@ files: | |
| 183 191 | 
             
            - src/ruby/bin/apis/pubsub_demo.rb
         | 
| 184 192 | 
             
            - src/ruby/bin/apis/tech/pubsub/proto/pubsub.rb
         | 
| 185 193 | 
             
            - src/ruby/bin/apis/tech/pubsub/proto/pubsub_services.rb
         | 
| 186 | 
            -
            - src/ruby/bin/grpc_ruby_interop_client
         | 
| 187 | 
            -
            - src/ruby/bin/grpc_ruby_interop_server
         | 
| 188 | 
            -
            - src/ruby/bin/interop/interop_client.rb
         | 
| 189 | 
            -
            - src/ruby/bin/interop/interop_server.rb
         | 
| 190 194 | 
             
            - src/ruby/bin/math.rb
         | 
| 191 195 | 
             
            - src/ruby/bin/math_client.rb
         | 
| 192 196 | 
             
            - src/ruby/bin/math_server.rb
         | 
| @@ -220,6 +224,8 @@ files: | |
| 220 224 | 
             
            - src/ruby/ext/grpc/rb_server.h
         | 
| 221 225 | 
             
            - src/ruby/ext/grpc/rb_server_credentials.c
         | 
| 222 226 | 
             
            - src/ruby/ext/grpc/rb_server_credentials.h
         | 
| 227 | 
            +
            - src/ruby/ext/grpc/rb_signal.c
         | 
| 228 | 
            +
            - src/ruby/ext/grpc/rb_signal.h
         | 
| 223 229 | 
             
            - src/ruby/lib/grpc.rb
         | 
| 224 230 | 
             
            - src/ruby/lib/grpc/2.0/grpc_c.so
         | 
| 225 231 | 
             
            - src/ruby/lib/grpc/2.1/grpc_c.so
         | 
| @@ -237,12 +243,16 @@ files: | |
| 237 243 | 
             
            - src/ruby/lib/grpc/grpc_c.so
         | 
| 238 244 | 
             
            - src/ruby/lib/grpc/logconfig.rb
         | 
| 239 245 | 
             
            - src/ruby/lib/grpc/notifier.rb
         | 
| 246 | 
            +
            - src/ruby/lib/grpc/signals.rb
         | 
| 240 247 | 
             
            - src/ruby/lib/grpc/version.rb
         | 
| 241 248 | 
             
            - src/ruby/pb/README.md
         | 
| 242 249 | 
             
            - src/ruby/pb/generate_proto_ruby.sh
         | 
| 243 250 | 
             
            - src/ruby/pb/grpc/health/checker.rb
         | 
| 244 251 | 
             
            - src/ruby/pb/grpc/health/v1/health.rb
         | 
| 245 252 | 
             
            - src/ruby/pb/grpc/health/v1/health_services.rb
         | 
| 253 | 
            +
            - src/ruby/pb/grpc/testing/duplicate/echo_duplicate_services.rb
         | 
| 254 | 
            +
            - src/ruby/pb/grpc/testing/metrics.rb
         | 
| 255 | 
            +
            - src/ruby/pb/grpc/testing/metrics_services.rb
         | 
| 246 256 | 
             
            - src/ruby/pb/test/client.rb
         | 
| 247 257 | 
             
            - src/ruby/pb/test/proto/empty.rb
         | 
| 248 258 | 
             
            - src/ruby/pb/test/proto/messages.rb
         | 
| @@ -261,6 +271,7 @@ files: | |
| 261 271 | 
             
            - src/ruby/spec/generic/rpc_server_pool_spec.rb
         | 
| 262 272 | 
             
            - src/ruby/spec/generic/rpc_server_spec.rb
         | 
| 263 273 | 
             
            - src/ruby/spec/generic/service_spec.rb
         | 
| 274 | 
            +
            - src/ruby/spec/pb/duplicate/codegen_spec.rb
         | 
| 264 275 | 
             
            - src/ruby/spec/pb/health/checker_spec.rb
         | 
| 265 276 | 
             
            - src/ruby/spec/server_credentials_spec.rb
         | 
| 266 277 | 
             
            - src/ruby/spec/server_spec.rb
         | 
| @@ -287,9 +298,9 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 287 298 | 
             
                  version: 2.0.0
         | 
| 288 299 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 289 300 | 
             
              requirements:
         | 
| 290 | 
            -
              - - " | 
| 301 | 
            +
              - - ">"
         | 
| 291 302 | 
             
                - !ruby/object:Gem::Version
         | 
| 292 | 
            -
                  version:  | 
| 303 | 
            +
                  version: 1.3.1
         | 
| 293 304 | 
             
            requirements: []
         | 
| 294 305 | 
             
            rubyforge_project: 
         | 
| 295 306 | 
             
            rubygems_version: 2.5.1
         | 
| @@ -304,6 +315,7 @@ test_files: | |
| 304 315 | 
             
            - src/ruby/spec/generic/service_spec.rb
         | 
| 305 316 | 
             
            - src/ruby/spec/generic/active_call_spec.rb
         | 
| 306 317 | 
             
            - src/ruby/spec/pb/health/checker_spec.rb
         | 
| 318 | 
            +
            - src/ruby/spec/pb/duplicate/codegen_spec.rb
         | 
| 307 319 | 
             
            - src/ruby/spec/channel_spec.rb
         | 
| 308 320 | 
             
            - src/ruby/spec/client_server_spec.rb
         | 
| 309 321 | 
             
            - src/ruby/spec/testdata/README
         | 
| @@ -1,33 +0,0 @@ | |
| 1 | 
            -
            #!/usr/bin/env ruby
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            # Copyright 2015, Google Inc.
         | 
| 4 | 
            -
            # All rights reserved.
         | 
| 5 | 
            -
            #
         | 
| 6 | 
            -
            # Redistribution and use in source and binary forms, with or without
         | 
| 7 | 
            -
            # modification, are permitted provided that the following conditions are
         | 
| 8 | 
            -
            # met:
         | 
| 9 | 
            -
            #
         | 
| 10 | 
            -
            #     * Redistributions of source code must retain the above copyright
         | 
| 11 | 
            -
            # notice, this list of conditions and the following disclaimer.
         | 
| 12 | 
            -
            #     * Redistributions in binary form must reproduce the above
         | 
| 13 | 
            -
            # copyright notice, this list of conditions and the following disclaimer
         | 
| 14 | 
            -
            # in the documentation and/or other materials provided with the
         | 
| 15 | 
            -
            # distribution.
         | 
| 16 | 
            -
            #     * Neither the name of Google Inc. nor the names of its
         | 
| 17 | 
            -
            # contributors may be used to endorse or promote products derived from
         | 
| 18 | 
            -
            # this software without specific prior written permission.
         | 
| 19 | 
            -
            #
         | 
| 20 | 
            -
            # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
         | 
| 21 | 
            -
            # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
         | 
| 22 | 
            -
            # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
         | 
| 23 | 
            -
            # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
         | 
| 24 | 
            -
            # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
         | 
| 25 | 
            -
            # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
         | 
| 26 | 
            -
            # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
         | 
| 27 | 
            -
            # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
         | 
| 28 | 
            -
            # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
         | 
| 29 | 
            -
            # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
         | 
| 30 | 
            -
            # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
         | 
| 31 | 
            -
             | 
| 32 | 
            -
            # Provides a gem binary entry point for the interop client.
         | 
| 33 | 
            -
            require 'test/client'
         | 
| @@ -1,33 +0,0 @@ | |
| 1 | 
            -
            #!/usr/bin/env ruby
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            # Copyright 2015, Google Inc.
         | 
| 4 | 
            -
            # All rights reserved.
         | 
| 5 | 
            -
            #
         | 
| 6 | 
            -
            # Redistribution and use in source and binary forms, with or without
         | 
| 7 | 
            -
            # modification, are permitted provided that the following conditions are
         | 
| 8 | 
            -
            # met:
         | 
| 9 | 
            -
            #
         | 
| 10 | 
            -
            #     * Redistributions of source code must retain the above copyright
         | 
| 11 | 
            -
            # notice, this list of conditions and the following disclaimer.
         | 
| 12 | 
            -
            #     * Redistributions in binary form must reproduce the above
         | 
| 13 | 
            -
            # copyright notice, this list of conditions and the following disclaimer
         | 
| 14 | 
            -
            # in the documentation and/or other materials provided with the
         | 
| 15 | 
            -
            # distribution.
         | 
| 16 | 
            -
            #     * Neither the name of Google Inc. nor the names of its
         | 
| 17 | 
            -
            # contributors may be used to endorse or promote products derived from
         | 
| 18 | 
            -
            # this software without specific prior written permission.
         | 
| 19 | 
            -
            #
         | 
| 20 | 
            -
            # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
         | 
| 21 | 
            -
            # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
         | 
| 22 | 
            -
            # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
         | 
| 23 | 
            -
            # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
         | 
| 24 | 
            -
            # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
         | 
| 25 | 
            -
            # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
         | 
| 26 | 
            -
            # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
         | 
| 27 | 
            -
            # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
         | 
| 28 | 
            -
            # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
         | 
| 29 | 
            -
            # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
         | 
| 30 | 
            -
            # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
         | 
| 31 | 
            -
             | 
| 32 | 
            -
            # Provides a gem binary entry point for the interop server
         | 
| 33 | 
            -
            require 'test/server'
         |