Sha256: 09b6ee6493ce9f3d62818f28230bd0bcc818231341d34d6cf372f321ac7fe24e

Contents?: true

Size: 759 Bytes

Versions: 1

Compression:

Stored size: 759 Bytes

Contents

require 'lib/protobuf/rpc/server'
require 'spec/proto/test_service_impl'

module StubProtobufServerFactory
  def self.build(delay)
    new_server = Class.new(Protobuf::Rpc::Server) do
      class << self
        def sleep_interval
          @sleep_interval
        end

        def sleep_interval=(si)
          @sleep_interval = si
        end
      end

      def post_init
        sleep self.class.sleep_interval
        super
      end
    end

    new_server.sleep_interval = delay
    return new_server
  end
end

class StubServer
  def initialize(delay = 0, port = 9191)
    @server_handle = EventMachine::start_server("127.0.0.1", port, StubProtobufServerFactory.build(delay)) 
  end

  def stop
    EventMachine.stop_server(@server_handle)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
protobuf-1.0.1 spec/helper/server.rb