eventmachine 0.12.6 → 0.12.8
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.
- data/{docs/README → README} +21 -13
- data/Rakefile +14 -4
- data/docs/DEFERRABLES +0 -5
- data/docs/INSTALL +2 -4
- data/docs/LEGAL +1 -1
- data/docs/LIGHTWEIGHT_CONCURRENCY +0 -2
- data/docs/PURE_RUBY +0 -2
- data/docs/RELEASE_NOTES +0 -2
- data/docs/SMTP +0 -7
- data/docs/SPAWNED_PROCESSES +0 -4
- data/docs/TODO +0 -2
- data/eventmachine.gemspec +17 -8
- data/examples/ex_channel.rb +43 -0
- data/examples/ex_queue.rb +2 -0
- data/examples/helper.rb +2 -0
- data/ext/cmain.cpp +119 -20
- data/ext/cplusplus.cpp +15 -6
- data/ext/ed.cpp +303 -93
- data/ext/ed.h +49 -22
- data/ext/em.cpp +368 -42
- data/ext/em.h +43 -6
- data/ext/eventmachine.h +21 -8
- data/ext/eventmachine_cpp.h +1 -0
- data/ext/extconf.rb +4 -0
- data/ext/kb.cpp +1 -2
- data/ext/pipe.cpp +1 -3
- data/ext/project.h +21 -0
- data/ext/rubymain.cpp +232 -32
- data/ext/ssl.cpp +38 -1
- data/ext/ssl.h +5 -1
- data/java/src/com/rubyeventmachine/Application.java +7 -3
- data/java/src/com/rubyeventmachine/EmReactor.java +16 -1
- data/java/src/com/rubyeventmachine/tests/ConnectTest.java +25 -3
- data/lib/{protocols → em}/buftok.rb +16 -5
- data/lib/em/callback.rb +26 -0
- data/lib/em/channel.rb +57 -0
- data/lib/em/connection.rb +505 -0
- data/lib/em/deferrable.rb +144 -165
- data/lib/em/file_watch.rb +54 -0
- data/lib/em/future.rb +24 -25
- data/lib/em/messages.rb +1 -1
- data/lib/em/process_watch.rb +44 -0
- data/lib/em/processes.rb +58 -52
- data/lib/em/protocols.rb +35 -0
- data/lib/em/protocols/header_and_content.rb +138 -0
- data/lib/em/protocols/httpclient.rb +263 -0
- data/lib/em/protocols/httpclient2.rb +582 -0
- data/lib/{protocols → em/protocols}/line_and_text.rb +2 -2
- data/lib/em/protocols/linetext2.rb +160 -0
- data/lib/{protocols → em/protocols}/memcache.rb +37 -7
- data/lib/em/protocols/object_protocol.rb +39 -0
- data/lib/em/protocols/postgres3.rb +247 -0
- data/lib/em/protocols/saslauth.rb +175 -0
- data/lib/em/protocols/smtpclient.rb +331 -0
- data/lib/em/protocols/smtpserver.rb +547 -0
- data/lib/em/protocols/stomp.rb +200 -0
- data/lib/{protocols → em/protocols}/tcptest.rb +21 -25
- data/lib/em/queue.rb +61 -0
- data/lib/em/spawnable.rb +53 -56
- data/lib/em/streamer.rb +92 -74
- data/lib/em/timers.rb +55 -0
- data/lib/em/version.rb +3 -0
- data/lib/eventmachine.rb +1008 -1298
- data/lib/evma.rb +1 -1
- data/lib/jeventmachine.rb +106 -101
- data/lib/pr_eventmachine.rb +47 -36
- data/tasks/project.rake +2 -1
- data/tests/client.crt +31 -0
- data/tests/client.key +51 -0
- data/tests/test_attach.rb +18 -0
- data/tests/test_basic.rb +108 -54
- data/tests/test_channel.rb +63 -0
- data/tests/test_connection_count.rb +2 -2
- data/tests/test_epoll.rb +109 -110
- data/tests/test_errors.rb +36 -36
- data/tests/test_exc.rb +22 -25
- data/tests/test_file_watch.rb +49 -0
- data/tests/test_futures.rb +77 -93
- data/tests/test_hc.rb +2 -2
- data/tests/test_httpclient.rb +55 -52
- data/tests/test_httpclient2.rb +110 -112
- data/tests/test_inactivity_timeout.rb +30 -0
- data/tests/test_kb.rb +8 -9
- data/tests/test_ltp2.rb +274 -277
- data/tests/test_next_tick.rb +91 -65
- data/tests/test_object_protocol.rb +37 -0
- data/tests/test_process_watch.rb +48 -0
- data/tests/test_processes.rb +56 -23
- data/tests/test_proxy_connection.rb +92 -0
- data/tests/test_pure.rb +1 -5
- data/tests/test_queue.rb +44 -0
- data/tests/test_running.rb +9 -14
- data/tests/test_sasl.rb +32 -34
- data/tests/test_send_file.rb +175 -176
- data/tests/test_servers.rb +37 -41
- data/tests/test_smtpserver.rb +47 -55
- data/tests/test_spawn.rb +284 -291
- data/tests/test_ssl_args.rb +1 -1
- data/tests/test_ssl_methods.rb +1 -1
- data/tests/test_ssl_verify.rb +82 -0
- data/tests/test_timers.rb +81 -88
- data/tests/test_ud.rb +0 -7
- data/tests/testem.rb +1 -1
- metadata +68 -39
- data/lib/em/eventable.rb +0 -39
- data/lib/eventmachine_version.rb +0 -31
- data/lib/protocols/header_and_content.rb +0 -129
- data/lib/protocols/httpcli2.rb +0 -803
- data/lib/protocols/httpclient.rb +0 -270
- data/lib/protocols/linetext2.rb +0 -161
- data/lib/protocols/postgres.rb +0 -261
- data/lib/protocols/saslauth.rb +0 -179
- data/lib/protocols/smtpclient.rb +0 -308
- data/lib/protocols/smtpserver.rb +0 -556
- data/lib/protocols/stomp.rb +0 -153
- data/tests/test_eventables.rb +0 -77
data/tests/test_ssl_args.rb
CHANGED
data/tests/test_ssl_methods.rb
CHANGED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
$:.unshift "../lib"
|
|
2
|
+
require 'eventmachine'
|
|
3
|
+
require 'test/unit'
|
|
4
|
+
|
|
5
|
+
class TestSslVerify < Test::Unit::TestCase
|
|
6
|
+
|
|
7
|
+
def setup
|
|
8
|
+
$dir = File.dirname(File.expand_path(__FILE__)) + '/'
|
|
9
|
+
$cert_from_file = File.read($dir+'client.crt')
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
module Client
|
|
13
|
+
def connection_completed
|
|
14
|
+
start_tls(:private_key_file => $dir+'client.key', :cert_chain_file => $dir+'client.crt')
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def ssl_handshake_completed
|
|
18
|
+
$client_handshake_completed = true
|
|
19
|
+
close_connection
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def unbind
|
|
23
|
+
EM.stop_event_loop
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
module AcceptServer
|
|
28
|
+
def post_init
|
|
29
|
+
start_tls(:verify_peer => true)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def ssl_verify_peer(cert)
|
|
33
|
+
$cert_from_server = cert
|
|
34
|
+
true
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def ssl_handshake_completed
|
|
38
|
+
$server_handshake_completed = true
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
module DenyServer
|
|
43
|
+
def post_init
|
|
44
|
+
start_tls(:verify_peer => true)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def ssl_verify_peer(cert)
|
|
48
|
+
$cert_from_server = cert
|
|
49
|
+
# Do not accept the peer. This should now cause the connection to shut down without the SSL handshake being completed.
|
|
50
|
+
false
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def ssl_handshake_completed
|
|
54
|
+
$server_handshake_completed = true
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def test_accept_server
|
|
59
|
+
$client_handshake_completed, $server_handshake_completed = false, false
|
|
60
|
+
EM.run {
|
|
61
|
+
EM.start_server("127.0.0.1", 16784, AcceptServer)
|
|
62
|
+
EM.connect("127.0.0.1", 16784, Client).instance_variable_get("@signature")
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
assert_equal($cert_from_file, $cert_from_server)
|
|
66
|
+
assert($client_handshake_completed)
|
|
67
|
+
assert($server_handshake_completed)
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
def test_deny_server
|
|
71
|
+
$client_handshake_completed, $server_handshake_completed = false, false
|
|
72
|
+
EM.run {
|
|
73
|
+
EM.start_server("127.0.0.1", 16784, DenyServer)
|
|
74
|
+
EM.connect("127.0.0.1", 16784, Client)
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
assert_equal($cert_from_file, $cert_from_server)
|
|
78
|
+
assert(!$client_handshake_completed)
|
|
79
|
+
assert(!$server_handshake_completed)
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
end
|
data/tests/test_timers.rb
CHANGED
|
@@ -29,120 +29,113 @@ $:.unshift "../lib"
|
|
|
29
29
|
require 'eventmachine'
|
|
30
30
|
require 'test/unit'
|
|
31
31
|
|
|
32
|
-
|
|
33
32
|
class TestTimers < Test::Unit::TestCase
|
|
34
33
|
|
|
35
|
-
def setup
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
def teardown
|
|
39
|
-
end
|
|
40
|
-
|
|
41
34
|
def test_timer_with_block
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
35
|
+
x = false
|
|
36
|
+
EventMachine.run {
|
|
37
|
+
EventMachine::Timer.new(0.25) {
|
|
38
|
+
x = true
|
|
39
|
+
EventMachine.stop
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
assert x
|
|
50
43
|
end
|
|
51
44
|
|
|
52
45
|
def test_timer_with_proc
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
46
|
+
x = false
|
|
47
|
+
EventMachine.run {
|
|
48
|
+
EventMachine::Timer.new(0.25, proc {
|
|
49
|
+
x = true
|
|
50
|
+
EventMachine.stop
|
|
51
|
+
})
|
|
52
|
+
}
|
|
53
|
+
assert x
|
|
61
54
|
end
|
|
62
55
|
|
|
63
56
|
def test_timer_cancel
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
57
|
+
x = true
|
|
58
|
+
EventMachine.run {
|
|
59
|
+
timer = EventMachine::Timer.new(0.25, proc { x = false })
|
|
60
|
+
timer.cancel
|
|
61
|
+
EventMachine::Timer.new(0.5, proc {EventMachine.stop})
|
|
62
|
+
}
|
|
63
|
+
assert x
|
|
71
64
|
end
|
|
72
65
|
|
|
73
66
|
def test_periodic_timer
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
67
|
+
x = 0
|
|
68
|
+
EventMachine.run {
|
|
69
|
+
EventMachine::PeriodicTimer.new(0.1) do
|
|
70
|
+
x += 1
|
|
71
|
+
EventMachine.stop if x == 4
|
|
72
|
+
end
|
|
73
|
+
}
|
|
74
|
+
assert( x == 4 )
|
|
82
75
|
end
|
|
83
76
|
|
|
84
77
|
def test_periodic_timer_cancel
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
78
|
+
x = 0
|
|
79
|
+
EventMachine.run {
|
|
80
|
+
pt = EventMachine::PeriodicTimer.new(0.25, proc { x += 1 })
|
|
81
|
+
pt.cancel
|
|
82
|
+
EventMachine::Timer.new(0.5) {EventMachine.stop}
|
|
83
|
+
}
|
|
84
|
+
assert( x == 0 )
|
|
92
85
|
end
|
|
93
86
|
|
|
94
87
|
def test_periodic_timer_self_cancel
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
88
|
+
x = 0
|
|
89
|
+
EventMachine.run {
|
|
90
|
+
pt = EventMachine::PeriodicTimer.new(0.1) {
|
|
91
|
+
x += 1
|
|
92
|
+
if x == 4
|
|
93
|
+
pt.cancel
|
|
94
|
+
EventMachine.stop
|
|
95
|
+
end
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
assert( x == 4 )
|
|
106
99
|
end
|
|
107
100
|
|
|
108
101
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
102
|
+
# This test is only applicable to compiled versions of the reactor.
|
|
103
|
+
# Pure ruby and java versions have no built-in limit on the number of outstanding timers.
|
|
104
|
+
#
|
|
105
|
+
def test_timer_change_max_outstanding
|
|
106
|
+
ten_thousand_timers = proc {
|
|
107
|
+
10000.times {
|
|
108
|
+
EM.add_timer(5) {}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
EM.run {
|
|
113
|
+
if EM.library_type == :pure_ruby
|
|
114
|
+
ten_thousand_timers.call
|
|
115
|
+
elsif EM.library_type == :java
|
|
116
|
+
ten_thousand_timers.call
|
|
117
|
+
else
|
|
118
|
+
begin
|
|
119
|
+
assert_raises( RuntimeError ) {
|
|
120
|
+
ten_thousand_timers.call
|
|
121
|
+
}
|
|
122
|
+
rescue Object
|
|
123
|
+
p $!
|
|
124
|
+
assert(false, $!.message)
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
EM.stop
|
|
128
|
+
}
|
|
135
129
|
|
|
136
130
|
assert(!EM.reactor_running?, 'Reactor running when it should not be.')
|
|
137
131
|
assert( EM.get_max_timers != 10001 )
|
|
138
132
|
EM.set_max_timers( 10001 )
|
|
139
133
|
assert( EM.get_max_timers == 10001 )
|
|
140
134
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
135
|
+
EM.run {
|
|
136
|
+
ten_thousand_timers.call
|
|
137
|
+
EM.stop
|
|
138
|
+
}
|
|
139
|
+
end
|
|
146
140
|
|
|
147
141
|
end
|
|
148
|
-
|
data/tests/test_ud.rb
CHANGED
data/tests/testem.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: eventmachine
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.12.
|
|
4
|
+
version: 0.12.8
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Francis Cianfrocca
|
|
@@ -9,35 +9,33 @@ autorequire:
|
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
11
|
|
|
12
|
-
date: 2009-
|
|
12
|
+
date: 2009-05-22 00:00:00 -07:00
|
|
13
13
|
default_executable:
|
|
14
14
|
dependencies: []
|
|
15
15
|
|
|
16
|
-
description:
|
|
16
|
+
description: |
|
|
17
|
+
EventMachine implements a fast, single-threaded engine for arbitrary network
|
|
18
|
+
communications. It's extremely easy to use in Ruby. EventMachine wraps all
|
|
19
|
+
interactions with IP sockets, allowing programs to concentrate on the
|
|
20
|
+
implementation of network protocols. It can be used to create both network
|
|
21
|
+
servers and clients. To create a server or client, a Ruby program only needs
|
|
22
|
+
to specify the IP address and port, and provide a Module that implements the
|
|
23
|
+
communications protocol. Implementations of several standard network protocols
|
|
24
|
+
are provided with the package, primarily to serve as examples. The real goal
|
|
25
|
+
of EventMachine is to enable programs to easily interface with other programs
|
|
26
|
+
using TCP/IP, especially if custom protocols are required.
|
|
27
|
+
|
|
17
28
|
email: garbagecat10@gmail.com
|
|
18
29
|
executables: []
|
|
19
30
|
|
|
20
31
|
extensions:
|
|
21
32
|
- ext/extconf.rb
|
|
22
33
|
- ext/fastfilereader/extconf.rb
|
|
23
|
-
extra_rdoc_files:
|
|
24
|
-
|
|
25
|
-
- docs/COPYING
|
|
26
|
-
- docs/DEFERRABLES
|
|
27
|
-
- docs/EPOLL
|
|
28
|
-
- docs/GNU
|
|
29
|
-
- docs/INSTALL
|
|
30
|
-
- docs/KEYBOARD
|
|
31
|
-
- docs/LEGAL
|
|
32
|
-
- docs/LIGHTWEIGHT_CONCURRENCY
|
|
33
|
-
- docs/PURE_RUBY
|
|
34
|
-
- docs/README
|
|
35
|
-
- docs/RELEASE_NOTES
|
|
36
|
-
- docs/SMTP
|
|
37
|
-
- docs/SPAWNED_PROCESSES
|
|
38
|
-
- docs/TODO
|
|
34
|
+
extra_rdoc_files: []
|
|
35
|
+
|
|
39
36
|
files:
|
|
40
37
|
- .gitignore
|
|
38
|
+
- README
|
|
41
39
|
- Rakefile
|
|
42
40
|
- docs/COPYING
|
|
43
41
|
- docs/ChangeLog
|
|
@@ -49,12 +47,14 @@ files:
|
|
|
49
47
|
- docs/LEGAL
|
|
50
48
|
- docs/LIGHTWEIGHT_CONCURRENCY
|
|
51
49
|
- docs/PURE_RUBY
|
|
52
|
-
- docs/README
|
|
53
50
|
- docs/RELEASE_NOTES
|
|
54
51
|
- docs/SMTP
|
|
55
52
|
- docs/SPAWNED_PROCESSES
|
|
56
53
|
- docs/TODO
|
|
57
54
|
- eventmachine.gemspec
|
|
55
|
+
- examples/ex_channel.rb
|
|
56
|
+
- examples/ex_queue.rb
|
|
57
|
+
- examples/helper.rb
|
|
58
58
|
- ext/binder.cpp
|
|
59
59
|
- ext/binder.h
|
|
60
60
|
- ext/cmain.cpp
|
|
@@ -105,15 +105,36 @@ files:
|
|
|
105
105
|
- java/src/com/rubyeventmachine/tests/TestDatagrams.java
|
|
106
106
|
- java/src/com/rubyeventmachine/tests/TestServers.java
|
|
107
107
|
- java/src/com/rubyeventmachine/tests/TestTimers.java
|
|
108
|
+
- lib/em/buftok.rb
|
|
109
|
+
- lib/em/callback.rb
|
|
110
|
+
- lib/em/channel.rb
|
|
111
|
+
- lib/em/connection.rb
|
|
108
112
|
- lib/em/deferrable.rb
|
|
109
|
-
- lib/em/
|
|
113
|
+
- lib/em/file_watch.rb
|
|
110
114
|
- lib/em/future.rb
|
|
111
115
|
- lib/em/messages.rb
|
|
116
|
+
- lib/em/process_watch.rb
|
|
112
117
|
- lib/em/processes.rb
|
|
118
|
+
- lib/em/protocols.rb
|
|
119
|
+
- lib/em/protocols/header_and_content.rb
|
|
120
|
+
- lib/em/protocols/httpclient.rb
|
|
121
|
+
- lib/em/protocols/httpclient2.rb
|
|
122
|
+
- lib/em/protocols/line_and_text.rb
|
|
123
|
+
- lib/em/protocols/linetext2.rb
|
|
124
|
+
- lib/em/protocols/memcache.rb
|
|
125
|
+
- lib/em/protocols/object_protocol.rb
|
|
126
|
+
- lib/em/protocols/postgres3.rb
|
|
127
|
+
- lib/em/protocols/saslauth.rb
|
|
128
|
+
- lib/em/protocols/smtpclient.rb
|
|
129
|
+
- lib/em/protocols/smtpserver.rb
|
|
130
|
+
- lib/em/protocols/stomp.rb
|
|
131
|
+
- lib/em/protocols/tcptest.rb
|
|
132
|
+
- lib/em/queue.rb
|
|
113
133
|
- lib/em/spawnable.rb
|
|
114
134
|
- lib/em/streamer.rb
|
|
135
|
+
- lib/em/timers.rb
|
|
136
|
+
- lib/em/version.rb
|
|
115
137
|
- lib/eventmachine.rb
|
|
116
|
-
- lib/eventmachine_version.rb
|
|
117
138
|
- lib/evma.rb
|
|
118
139
|
- lib/evma/callback.rb
|
|
119
140
|
- lib/evma/container.rb
|
|
@@ -122,43 +143,38 @@ files:
|
|
|
122
143
|
- lib/evma/reactor.rb
|
|
123
144
|
- lib/jeventmachine.rb
|
|
124
145
|
- lib/pr_eventmachine.rb
|
|
125
|
-
- lib/protocols/buftok.rb
|
|
126
|
-
- lib/protocols/header_and_content.rb
|
|
127
|
-
- lib/protocols/httpcli2.rb
|
|
128
|
-
- lib/protocols/httpclient.rb
|
|
129
|
-
- lib/protocols/line_and_text.rb
|
|
130
|
-
- lib/protocols/linetext2.rb
|
|
131
|
-
- lib/protocols/memcache.rb
|
|
132
|
-
- lib/protocols/postgres.rb
|
|
133
|
-
- lib/protocols/saslauth.rb
|
|
134
|
-
- lib/protocols/smtpclient.rb
|
|
135
|
-
- lib/protocols/smtpserver.rb
|
|
136
|
-
- lib/protocols/stomp.rb
|
|
137
|
-
- lib/protocols/tcptest.rb
|
|
138
146
|
- setup.rb
|
|
139
147
|
- tasks/cpp.rake
|
|
140
148
|
- tasks/project.rake
|
|
141
149
|
- tasks/tests.rake
|
|
150
|
+
- tests/client.crt
|
|
151
|
+
- tests/client.key
|
|
142
152
|
- tests/test_attach.rb
|
|
143
153
|
- tests/test_basic.rb
|
|
154
|
+
- tests/test_channel.rb
|
|
144
155
|
- tests/test_connection_count.rb
|
|
145
156
|
- tests/test_defer.rb
|
|
146
157
|
- tests/test_epoll.rb
|
|
147
158
|
- tests/test_error_handler.rb
|
|
148
159
|
- tests/test_errors.rb
|
|
149
|
-
- tests/test_eventables.rb
|
|
150
160
|
- tests/test_exc.rb
|
|
161
|
+
- tests/test_file_watch.rb
|
|
151
162
|
- tests/test_futures.rb
|
|
152
163
|
- tests/test_handler_check.rb
|
|
153
164
|
- tests/test_hc.rb
|
|
154
165
|
- tests/test_httpclient.rb
|
|
155
166
|
- tests/test_httpclient2.rb
|
|
167
|
+
- tests/test_inactivity_timeout.rb
|
|
156
168
|
- tests/test_kb.rb
|
|
157
169
|
- tests/test_ltp.rb
|
|
158
170
|
- tests/test_ltp2.rb
|
|
159
171
|
- tests/test_next_tick.rb
|
|
172
|
+
- tests/test_object_protocol.rb
|
|
173
|
+
- tests/test_process_watch.rb
|
|
160
174
|
- tests/test_processes.rb
|
|
175
|
+
- tests/test_proxy_connection.rb
|
|
161
176
|
- tests/test_pure.rb
|
|
177
|
+
- tests/test_queue.rb
|
|
162
178
|
- tests/test_running.rb
|
|
163
179
|
- tests/test_sasl.rb
|
|
164
180
|
- tests/test_send_file.rb
|
|
@@ -168,19 +184,32 @@ files:
|
|
|
168
184
|
- tests/test_spawn.rb
|
|
169
185
|
- tests/test_ssl_args.rb
|
|
170
186
|
- tests/test_ssl_methods.rb
|
|
187
|
+
- tests/test_ssl_verify.rb
|
|
171
188
|
- tests/test_timers.rb
|
|
172
189
|
- tests/test_ud.rb
|
|
173
190
|
- tests/testem.rb
|
|
174
191
|
- web/whatis
|
|
175
192
|
has_rdoc: true
|
|
176
193
|
homepage: http://rubyeventmachine.com
|
|
194
|
+
licenses: []
|
|
195
|
+
|
|
177
196
|
post_install_message:
|
|
178
197
|
rdoc_options:
|
|
179
198
|
- --title
|
|
180
199
|
- EventMachine
|
|
181
200
|
- --main
|
|
182
|
-
-
|
|
201
|
+
- README
|
|
183
202
|
- --line-numbers
|
|
203
|
+
- -x
|
|
204
|
+
- lib/em/version
|
|
205
|
+
- -x
|
|
206
|
+
- lib/emva
|
|
207
|
+
- -x
|
|
208
|
+
- lib/evma/
|
|
209
|
+
- -x
|
|
210
|
+
- lib/pr_eventmachine
|
|
211
|
+
- -x
|
|
212
|
+
- lib/jeventmachine
|
|
184
213
|
require_paths:
|
|
185
214
|
- lib
|
|
186
215
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
@@ -198,9 +227,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
198
227
|
requirements: []
|
|
199
228
|
|
|
200
229
|
rubyforge_project: eventmachine
|
|
201
|
-
rubygems_version: 1.3.
|
|
230
|
+
rubygems_version: 1.3.3
|
|
202
231
|
signing_key:
|
|
203
|
-
specification_version:
|
|
232
|
+
specification_version: 3
|
|
204
233
|
summary: Ruby/EventMachine library
|
|
205
234
|
test_files: []
|
|
206
235
|
|