DIY-pcap 0.2.3 → 0.2.4
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/diy/builder.rb +9 -16
- data/lib/diy/version.rb +1 -1
- data/lib/diy/worker.rb +7 -2
- data/simple/pcap.rb +1 -1
- metadata +9 -7
data/lib/diy/builder.rb
CHANGED
@@ -31,33 +31,26 @@ module DIY
|
|
31
31
|
end
|
32
32
|
|
33
33
|
def client(ip_or_iport)
|
34
|
-
|
35
|
-
if ! ip_or_iport.include?(':')
|
36
|
-
iport = ip_or_iport + ':' + default_port
|
37
|
-
else
|
38
|
-
iport = ip_or_iport
|
39
|
-
end
|
40
|
-
@curi = ip2druby(iport)
|
34
|
+
@curi = ip_or_iport_with_default(ip_or_iport, 7878)
|
41
35
|
end
|
42
36
|
|
43
37
|
def server(ip_or_iport)
|
44
|
-
|
45
|
-
if ! ip_or_iport.include?(':')
|
46
|
-
iport = ip_or_iport + ':' + default_port
|
47
|
-
else
|
48
|
-
iport = ip_or_iport
|
49
|
-
end
|
50
|
-
@suri = ip2druby(iport)
|
38
|
+
@suri = ip_or_iport_with_default(ip_or_iport, 7879)
|
51
39
|
end
|
52
40
|
|
53
41
|
def me(ip_or_iport)
|
54
|
-
|
42
|
+
@me = ip_or_iport_with_default(ip_or_iport, 7880)
|
43
|
+
end
|
44
|
+
alias controller me
|
45
|
+
|
46
|
+
def ip_or_iport_with_default(ip_or_iport, default_port)
|
47
|
+
default_port = default_port.to_s
|
55
48
|
if ! ip_or_iport.include?(':')
|
56
49
|
iport = ip_or_iport + ':' + default_port
|
57
50
|
else
|
58
51
|
iport = ip_or_iport
|
59
52
|
end
|
60
|
-
|
53
|
+
ip2druby(iport)
|
61
54
|
end
|
62
55
|
|
63
56
|
def ip2druby(ip)
|
data/lib/diy/version.rb
CHANGED
data/lib/diy/worker.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
# encoding : utf-8
|
2
2
|
require 'diy/packet'
|
3
3
|
require 'drb'
|
4
|
+
require 'thread'
|
5
|
+
|
4
6
|
module DIY
|
5
7
|
include DRbUndumped
|
6
8
|
class Worker
|
@@ -8,6 +10,7 @@ module DIY
|
|
8
10
|
@live = live
|
9
11
|
@recv_t = nil
|
10
12
|
@start = false
|
13
|
+
@m = Mutex.new
|
11
14
|
loop_recv
|
12
15
|
end
|
13
16
|
|
@@ -25,8 +28,10 @@ module DIY
|
|
25
28
|
@live.loop do |this, pkt|
|
26
29
|
next unless @start
|
27
30
|
begin
|
28
|
-
@
|
29
|
-
|
31
|
+
@m.synchronize do
|
32
|
+
@block.call(pkt.body) if @block
|
33
|
+
end
|
34
|
+
rescue DRb::DRbConnError
|
30
35
|
DIY::Logger.info "closed connection by controller"
|
31
36
|
end
|
32
37
|
end
|
data/simple/pcap.rb
CHANGED
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: DIY-pcap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 31
|
5
|
+
prerelease:
|
5
6
|
segments:
|
6
7
|
- 0
|
7
8
|
- 2
|
8
|
-
-
|
9
|
-
version: 0.2.
|
9
|
+
- 4
|
10
|
+
version: 0.2.4
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- yafei Lee
|
@@ -14,8 +15,7 @@ autorequire:
|
|
14
15
|
bindir: bin
|
15
16
|
cert_chain: []
|
16
17
|
|
17
|
-
date: 2012-
|
18
|
-
default_executable:
|
18
|
+
date: 2012-10-08 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: ffi-pcap
|
@@ -25,6 +25,7 @@ dependencies:
|
|
25
25
|
requirements:
|
26
26
|
- - ">="
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
+
hash: 23
|
28
29
|
segments:
|
29
30
|
- 0
|
30
31
|
- 2
|
@@ -110,7 +111,6 @@ files:
|
|
110
111
|
- spec/spec_helper.rb
|
111
112
|
- spec/utils_spec.rb
|
112
113
|
- spec/worker_spec.rb
|
113
|
-
has_rdoc: true
|
114
114
|
homepage: ""
|
115
115
|
licenses: []
|
116
116
|
|
@@ -124,6 +124,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
124
124
|
requirements:
|
125
125
|
- - ">="
|
126
126
|
- !ruby/object:Gem::Version
|
127
|
+
hash: 3
|
127
128
|
segments:
|
128
129
|
- 0
|
129
130
|
version: "0"
|
@@ -132,13 +133,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
132
133
|
requirements:
|
133
134
|
- - ">="
|
134
135
|
- !ruby/object:Gem::Version
|
136
|
+
hash: 3
|
135
137
|
segments:
|
136
138
|
- 0
|
137
139
|
version: "0"
|
138
140
|
requirements: []
|
139
141
|
|
140
142
|
rubyforge_project:
|
141
|
-
rubygems_version: 1.
|
143
|
+
rubygems_version: 1.8.24
|
142
144
|
signing_key:
|
143
145
|
specification_version: 3
|
144
146
|
summary: DIY pcap send and recv
|