udpbucket 0.0.6 → 0.0.7

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.
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