udpbucket 0.0.5 → 0.0.6

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3ad8afe38b4578ab4e28b8a80db3a8a11b2c415d
4
- data.tar.gz: 299f22285d238ab32b54f3ea2cff954f364b1eea
3
+ metadata.gz: dfd4f91d6ca37c2522ae41f6401870696f8ead35
4
+ data.tar.gz: 1f5803c48d61b9e2f50f23df058e39d954a5e8b6
5
5
  SHA512:
6
- metadata.gz: 6b9df121041a8f2f9eed97aada66a7e891c2559f3043e444dc19e09d9204d5685b58dbcac847a570c39929b9a5c62efe32058477d6ef34be0c8c5823a8f9c7c5
7
- data.tar.gz: 92e6b670a21c7d45cb3bb090cb4ddce87e60992797eb108650939126b4030fb5bab4bdbcad8f9680f11c6fac579a6c0b9b875c3c510253aafc5385bfa9ee5bcd
6
+ metadata.gz: a4668da0f5701ddeb4f0ee63c383af8b077c9f8178b2c8071278dcb3b2617bdd830c84ea70fdd5c78fab20a45231635448b6718bf94a82c23e3735aa0de03a90
7
+ data.tar.gz: 30266473a132d286daf6601ae2e9f5fd1003a0a3a6520f90f101f33c91e410a2b6a91d747f65700214f4c70dd1c37bc8744b4d60e87478cabf01ed9080ef7894
@@ -2,12 +2,16 @@ module UDPBucket
2
2
  class Core
3
3
 
4
4
  def initialize cfg
5
- @cfg = cfg
6
- @debug = @cfg[:debug]
7
- @localhost = @cfg[:localhost]
8
- @localport = @cfg[:localport]
9
- @rx_queue = Queue.new
10
- @sock = UDPSocket.new
5
+ @cfg = cfg
6
+ @debug = @cfg[:debug]
7
+ @localhost = @cfg[:localhost] || '0.0.0.0'
8
+ @localport = @cfg[:localport] || 16265
9
+ @rx_queue = Queue.new
10
+ if IPAddr.new(@localhost).ipv6?
11
+ @sock = UDPSocket.new Socket::AF_INET6
12
+ else
13
+ @sock = UDPSocket.new
14
+ end
11
15
  @sock.bind @localhost, @localport
12
16
  end
13
17
 
@@ -17,7 +21,7 @@ module UDPBucket
17
21
  r, w, e = IO.select([@sock], nil, nil)
18
22
  if r[0]
19
23
  buffer, sockaddr = @sock.recvfrom_nonblock(1500)
20
- @rx_queue << { :client_sock => @sock, :client_ip => sockaddr[3], :client_port => sockaddr[1], :payload => buffer }
24
+ @rx_queue << { :client_sock => @sock, :client_ip => sockaddr[3], :client_port => sockaddr[1], :payload => buffer }
21
25
  end
22
26
  end
23
27
  end
@@ -31,6 +35,6 @@ module UDPBucket
31
35
  end
32
36
  consumer.join
33
37
  end
34
- end
35
38
 
39
+ end
36
40
  end
data/lib/udpbucket.rb CHANGED
@@ -2,5 +2,6 @@ module UDPBucket
2
2
  Directory = File.expand_path File.join File.dirname(__FILE__), '../'
3
3
  require 'socket'
4
4
  require 'thread'
5
+ require 'ipaddr'
5
6
  require 'udpbucket/core'
6
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: udpbucket
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samer Abdel-Hafez