Sha256: 356c3aac2506ba3e0e17bf97224b5ae50e482ae911b68f3afa6c20d7850c4d17

Contents?: true

Size: 702 Bytes

Versions: 1

Compression:

Stored size: 702 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.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.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.2 spec/kamerling/net_dispatcher_spec.rb