udpbucket 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/udpbucket/core.rb +11 -4
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dfd4f91d6ca37c2522ae41f6401870696f8ead35
4
- data.tar.gz: 1f5803c48d61b9e2f50f23df058e39d954a5e8b6
3
+ metadata.gz: 0c468a1bcee11357c27aef03e1600a5a8683252c
4
+ data.tar.gz: eedd67a96e484711df848b54689ca89ee8b70865
5
5
  SHA512:
6
- metadata.gz: a4668da0f5701ddeb4f0ee63c383af8b077c9f8178b2c8071278dcb3b2617bdd830c84ea70fdd5c78fab20a45231635448b6718bf94a82c23e3735aa0de03a90
7
- data.tar.gz: 30266473a132d286daf6601ae2e9f5fd1003a0a3a6520f90f101f33c91e410a2b6a91d747f65700214f4c70dd1c37bc8744b4d60e87478cabf01ed9080ef7894
6
+ metadata.gz: f534b645417f5444db3868d622f71a0da4dfeaba8a44673315608dd52e2bf8c1954606956467a5fea1459455ef13e83f1916b5c795274875f7b09f6185cbcc93
7
+ data.tar.gz: f734752fcac4eba7f0e1c24d7e8e36c96fc51dd75bb3b9e726a3cf54102c1b69db99499aed4010c3bfae00ecac30341403ee30bb0e325c8bf16a62aa7f1341a0
@@ -13,23 +13,30 @@ module UDPBucket
13
13
  @sock = UDPSocket.new
14
14
  end
15
15
  @sock.bind @localhost, @localport
16
+ debug "udpbucket server up: #{@localhost}:#{@localport}" if @debug == 1
17
+ end
18
+
19
+ def debug msg
20
+ puts [ "D, [#{Time.now} ", [ "#", "#{Process.pid}" ].join, "] DEBUG -- ", msg ].join
16
21
  end
17
22
 
18
23
  def listen
19
- enqueue_targets = Thread.new do
24
+ queue = Thread.new do
20
25
  while true do
21
26
  r, w, e = IO.select([@sock], nil, nil)
22
27
  if r[0]
23
28
  buffer, sockaddr = @sock.recvfrom_nonblock(1500)
24
- @rx_queue << { :client_sock => @sock, :client_ip => sockaddr[3], :client_port => sockaddr[1], :payload => buffer }
29
+ pkt = { :client_sock => @sock, :client_ip => sockaddr[3], :client_port => sockaddr[1], :payload => buffer }
30
+ @rx_queue << pkt
31
+ debug "packet queued (queue size:#{@rx_queue.size}): #{pkt}" if @debug == 1
25
32
  end
26
33
  end
27
34
  end
28
35
  consumer = Thread.new do
29
36
  while true do
30
37
  begin
31
- pkt = @rx_queue.pop
32
- yield pkt
38
+ yield @rx_queue.pop
39
+ debug "yield to block (queue size:#{@rx_queue.size})" if @debug == 1
33
40
  end
34
41
  end
35
42
  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.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samer Abdel-Hafez