Sha256: 984aa7820df4b41b5f36633f30fa648d9bd5c6267b42f62e9d819df2479d242b

Contents?: true

Size: 710 Bytes

Versions: 1

Compression:

Stored size: 710 Bytes

Contents

require_relative '../spec_helper'

module Kamerling describe NetDispatcher do
  describe '#dispatch' do
    it 'dispatches messages to TCP clients' do
      server = TCPServer.open 0
      thread = Thread.new { server.accept.read }
      addr   = Addr[server.addr[3], server.addr[1], :TCP]
      NetDispatcher.new.dispatch addr, 'foo'
      thread.value.must_equal 'foo'
    end

    it 'dispatches messages to UDP clients' do
      server = UDPSocket.new.tap { |s| s.bind '127.0.0.1', 0 }
      thread = Thread.new { server.recvfrom(2**16).first }
      addr   = Addr[server.addr[3], server.addr[1], :UDP]
      NetDispatcher.new.dispatch addr, 'foo'
      thread.value.must_equal 'foo'
    end
  end
end end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
kamerling-0.0.1 spec/kamerling/net_dispatcher_spec.rb