Sha256: 735de29744f45111277c817d52ee835d2b77f71a83735dafaf5c3ea2447fc106

Contents?: true

Size: 871 Bytes

Versions: 9

Compression:

Stored size: 871 Bytes

Contents

# Write a ASIR::Transport::HTTP class that uses HTTP::Client for transport send_result and receive_result.
# And WEBrick to handle requests.

$: << File.expand_path("../../../lib", __FILE__)
require 'asir/transport/webrick'
require 'asir/coder/marshal'

require 'math_service'
MathService.send(:include, ASIR::Client)

Process.exit!(0) if RUBY_PLATFORM =~ /java/i

port = 3001
begin
  t = ASIR::Transport::Webrick.new(:uri => "http://localhost:#{port}/")
  t._log_enabled = true
  c = t.encoder = ASIR::Coder::Marshal.new
  c._log_enabled = true

  server_pid = Process.fork do
    t.prepare_server!
    t.run_server!
  end
  sleep 1 # wait for server to start

  MathService.asir.transport = t
  MathService.asir.sum([1, 2, 3])

rescue Exception => err
  $stderr.puts "ERROR: #{err.inspect}\n#{err.backtrace * "\n"}"

ensure
  sleep 1
  Process.kill(9, server_pid)
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
asir-1.2.11 hack_night/solution/prob-6.rb
asir-1.2.10 hack_night/solution/prob-6.rb
asir-1.2.9 hack_night/solution/prob-6.rb
asir-1.2.8 hack_night/solution/prob-6.rb
asir-1.2.7 hack_night/solution/prob-6.rb
asir-1.2.6 hack_night/solution/prob-6.rb
asir-1.2.5 hack_night/solution/prob-6.rb
asir-1.2.3 hack_night/solution/prob-6.rb
asir-1.2.2 hack_night/solution/prob-6.rb