udpbucket 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
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