sonixlabs-eventmachine-java 1.0.0.rc.7-java → 1.0.3.1-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -12
- data/.travis.yml +12 -0
- data/CHANGELOG.md +33 -0
- data/Gemfile +0 -1
- data/README.md +2 -2
- data/README_JP.md +10 -2
- data/eventmachine.gemspec +10 -7
- data/ext/binder.cpp +1 -1
- data/ext/cmain.cpp +11 -0
- data/ext/ed.cpp +22 -7
- data/ext/ed.h +5 -5
- data/ext/em.cpp +64 -66
- data/ext/em.h +10 -5
- data/ext/eventmachine.h +1 -0
- data/ext/extconf.rb +4 -3
- data/ext/fastfilereader/extconf.rb +1 -1
- data/ext/rubymain.cpp +22 -1
- data/ext/ssl.cpp +1 -1
- data/java/.classpath +1 -3
- data/java/.gitignore +1 -0
- data/java/src/com/rubyeventmachine/DatagramPacket.java +13 -0
- data/java/src/com/rubyeventmachine/EmReactor.java +502 -561
- data/java/src/com/rubyeventmachine/EventCallback.java +7 -0
- data/java/src/com/rubyeventmachine/EventCode.java +26 -0
- data/java/src/com/rubyeventmachine/EventableChannel.java +102 -42
- data/java/src/com/rubyeventmachine/EventableDatagramChannel.java +146 -161
- data/java/src/com/rubyeventmachine/EventableSocketChannel.java +371 -334
- data/java/src/com/rubyeventmachine/SslBox.java +310 -0
- data/lib/em/iterator.rb +5 -44
- data/lib/em/processes.rb +1 -1
- data/lib/em/protocols/httpclient.rb +2 -2
- data/lib/em/protocols/line_protocol.rb +2 -2
- data/lib/em/protocols/smtpclient.rb +1 -1
- data/lib/em/protocols/smtpserver.rb +10 -7
- data/lib/em/protocols/stomp.rb +5 -2
- data/lib/em/protocols.rb +1 -0
- data/lib/em/version.rb +1 -1
- data/lib/eventmachine.rb +35 -14
- data/lib/jeventmachine.rb +65 -18
- data/rakelib/package.rake +15 -18
- data/tests/server.crt +36 -0
- data/tests/server.key +51 -0
- data/tests/test_attach.rb +24 -0
- data/tests/test_connection_count.rb +21 -1
- data/tests/test_epoll.rb +15 -0
- data/tests/test_httpclient2.rb +5 -0
- data/tests/test_idle_connection.rb +6 -4
- data/tests/test_iterator.rb +97 -0
- data/tests/test_line_protocol.rb +33 -0
- data/tests/test_pause.rb +24 -0
- data/tests/test_set_sock_opt.rb +1 -1
- data/tests/test_ssl_echo_data.rb +60 -0
- data/tests/test_ssl_methods.rb +15 -7
- data/tests/test_ssl_verify.rb +4 -4
- data/tests/test_stomp.rb +37 -0
- data/tests/test_system.rb +42 -0
- metadata +45 -42
- data/lib/rubyeventmachine.jar +0 -0
data/tests/test_ssl_methods.rb
CHANGED
@@ -1,29 +1,37 @@
|
|
1
1
|
require 'em_test_helper'
|
2
2
|
|
3
3
|
class TestSSLMethods < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
$dir = File.dirname(File.expand_path(__FILE__)) + '/'
|
6
|
+
$client_cert_from_file = File.read($dir+'client.crt')
|
7
|
+
$server_cert_from_file = File.read($dir+'server.crt')
|
8
|
+
end
|
4
9
|
|
5
10
|
module ServerHandler
|
6
11
|
|
7
12
|
def post_init
|
8
|
-
start_tls
|
13
|
+
start_tls(:private_key_file => $dir+'server.key', :cert_chain_file => $dir+'server.crt', :verify_peer => true)
|
9
14
|
end
|
10
15
|
|
11
16
|
def ssl_handshake_completed
|
12
17
|
$server_called_back = true
|
13
|
-
$
|
18
|
+
$client_cert_value = get_peer_cert
|
14
19
|
end
|
15
20
|
|
21
|
+
def ssl_verify_peer cert
|
22
|
+
true
|
23
|
+
end
|
16
24
|
end
|
17
25
|
|
18
26
|
module ClientHandler
|
19
27
|
|
20
28
|
def post_init
|
21
|
-
start_tls
|
29
|
+
start_tls(:private_key_file => $dir+'client.key', :cert_chain_file => $dir+'client.crt')
|
22
30
|
end
|
23
31
|
|
24
32
|
def ssl_handshake_completed
|
25
33
|
$client_called_back = true
|
26
|
-
$
|
34
|
+
$server_cert_value = get_peer_cert
|
27
35
|
EM.stop_event_loop
|
28
36
|
end
|
29
37
|
|
@@ -41,8 +49,8 @@ class TestSSLMethods < Test::Unit::TestCase
|
|
41
49
|
assert($server_called_back)
|
42
50
|
assert($client_called_back)
|
43
51
|
|
44
|
-
|
45
|
-
|
52
|
+
assert_equal($server_cert_from_file, $server_cert_value.gsub("\r", ""))
|
53
|
+
assert_equal($client_cert_from_file, $client_cert_value.gsub("\r", ""))
|
46
54
|
end
|
47
55
|
|
48
|
-
end if EM.ssl?
|
56
|
+
end if EM.ssl?
|
data/tests/test_ssl_verify.rb
CHANGED
@@ -24,7 +24,7 @@ if EM.ssl?
|
|
24
24
|
|
25
25
|
module AcceptServer
|
26
26
|
def post_init
|
27
|
-
start_tls(:verify_peer => true)
|
27
|
+
start_tls(:private_key_file => $dir+'server.key', :cert_chain_file => $dir+'server.crt', :verify_peer => true)
|
28
28
|
end
|
29
29
|
|
30
30
|
def ssl_verify_peer(cert)
|
@@ -39,7 +39,7 @@ if EM.ssl?
|
|
39
39
|
|
40
40
|
module DenyServer
|
41
41
|
def post_init
|
42
|
-
start_tls(:verify_peer => true)
|
42
|
+
start_tls(:private_key_file => $dir+'server.key', :cert_chain_file => $dir+'server.crt', :verify_peer => true)
|
43
43
|
end
|
44
44
|
|
45
45
|
def ssl_verify_peer(cert)
|
@@ -60,7 +60,7 @@ if EM.ssl?
|
|
60
60
|
EM.connect("127.0.0.1", 16784, Client).instance_variable_get("@signature")
|
61
61
|
}
|
62
62
|
|
63
|
-
assert_equal($cert_from_file, $cert_from_server)
|
63
|
+
assert_equal($cert_from_file, $cert_from_server.gsub("\r", ""))
|
64
64
|
assert($client_handshake_completed)
|
65
65
|
assert($server_handshake_completed)
|
66
66
|
end
|
@@ -72,7 +72,7 @@ if EM.ssl?
|
|
72
72
|
EM.connect("127.0.0.1", 16784, Client)
|
73
73
|
}
|
74
74
|
|
75
|
-
assert_equal($cert_from_file, $cert_from_server)
|
75
|
+
assert_equal($cert_from_file, $cert_from_server.gsub("\r", ""))
|
76
76
|
assert(!$client_handshake_completed)
|
77
77
|
assert(!$server_handshake_completed)
|
78
78
|
end
|
data/tests/test_stomp.rb
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'em_test_helper'
|
2
|
+
|
3
|
+
class TestStomp < Test::Unit::TestCase
|
4
|
+
CONTENT_LENGTH_REGEX = /^content-length: (\d+)$/
|
5
|
+
|
6
|
+
def bytesize(str)
|
7
|
+
str = str.to_s
|
8
|
+
size = str.bytesize if str.respond_to?(:bytesize) # bytesize added in 1.9
|
9
|
+
size || str.size
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_content_length_in_bytes
|
13
|
+
connection = Object.new
|
14
|
+
connection.instance_eval do
|
15
|
+
extend EM::P::Stomp
|
16
|
+
|
17
|
+
def last_sent_content_length
|
18
|
+
@sent && Integer(@sent[CONTENT_LENGTH_REGEX, 1])
|
19
|
+
end
|
20
|
+
|
21
|
+
def send_data(string)
|
22
|
+
@sent = string
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
queue = "queue"
|
27
|
+
failure_message = "header content-length is not the byte size of last sent body"
|
28
|
+
|
29
|
+
body = "test"
|
30
|
+
connection.send queue, body
|
31
|
+
assert_equal bytesize(body), connection.last_sent_content_length, failure_message
|
32
|
+
|
33
|
+
body = "test\u221A"
|
34
|
+
connection.send queue, body
|
35
|
+
assert_equal bytesize(body), connection.last_sent_content_length, failure_message
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
require 'em_test_helper'
|
3
|
+
|
4
|
+
class TestSystem < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
@filename = File.expand_path("../я манал dump.txt", __FILE__)
|
7
|
+
@test_data = 'a' * 100
|
8
|
+
File.open(@filename, 'w'){|f| f.write(@test_data)}
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_system
|
12
|
+
result = nil
|
13
|
+
status = nil
|
14
|
+
EM.run {
|
15
|
+
EM.system('cat', @filename){|out, state|
|
16
|
+
result = out
|
17
|
+
status = state.exitstatus
|
18
|
+
EM.stop
|
19
|
+
}
|
20
|
+
}
|
21
|
+
assert_equal(0, status)
|
22
|
+
assert_equal(@test_data, result)
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_system_with_string
|
26
|
+
result = nil
|
27
|
+
status = nil
|
28
|
+
EM.run {
|
29
|
+
EM.system("cat '#@filename'"){|out, state|
|
30
|
+
result = out
|
31
|
+
status = state.exitstatus
|
32
|
+
EM.stop
|
33
|
+
}
|
34
|
+
}
|
35
|
+
assert_equal(0, status)
|
36
|
+
assert_equal(@test_data, result)
|
37
|
+
end
|
38
|
+
|
39
|
+
def teardown
|
40
|
+
File.unlink(@filename)
|
41
|
+
end
|
42
|
+
end
|
metadata
CHANGED
@@ -1,55 +1,42 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sonixlabs-eventmachine-java
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3.1
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Francis Cianfrocca
|
8
|
+
- Aman Gupta
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date:
|
12
|
+
date: 2014-07-22 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: rake-compiler
|
15
16
|
version_requirements: !ruby/object:Gem::Requirement
|
16
17
|
requirements:
|
17
|
-
- -
|
18
|
+
- - ~>
|
18
19
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.8.
|
20
|
+
version: 0.8.3
|
20
21
|
requirement: !ruby/object:Gem::Requirement
|
21
22
|
requirements:
|
22
|
-
- -
|
23
|
+
- - ~>
|
23
24
|
- !ruby/object:Gem::Version
|
24
|
-
version: 0.8.
|
25
|
+
version: 0.8.3
|
25
26
|
prerelease: false
|
26
27
|
type: :development
|
27
28
|
- !ruby/object:Gem::Dependency
|
28
29
|
name: yard
|
29
30
|
version_requirements: !ruby/object:Gem::Requirement
|
30
31
|
requirements:
|
31
|
-
- -
|
32
|
+
- - '>='
|
32
33
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
34
|
+
version: 0.8.5.2
|
34
35
|
requirement: !ruby/object:Gem::Requirement
|
35
36
|
requirements:
|
36
|
-
- -
|
37
|
+
- - '>='
|
37
38
|
- !ruby/object:Gem::Version
|
38
|
-
version: 0.
|
39
|
-
prerelease: false
|
40
|
-
type: :development
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: bluecloth
|
43
|
-
version_requirements: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
requirements:
|
50
|
-
- - ">="
|
51
|
-
- !ruby/object:Gem::Version
|
52
|
-
version: '0'
|
39
|
+
version: 0.8.5.2
|
53
40
|
prerelease: false
|
54
41
|
type: :development
|
55
42
|
description: |-
|
@@ -64,10 +51,12 @@ description: |-
|
|
64
51
|
of EventMachine is to enable programs to easily interface with other programs
|
65
52
|
using TCP/IP, especially if custom protocols are required.
|
66
53
|
email:
|
67
|
-
-
|
68
|
-
-
|
54
|
+
- garbagecat10@gmail.com
|
55
|
+
- aman@tmm1.net
|
69
56
|
executables: []
|
70
|
-
extensions:
|
57
|
+
extensions:
|
58
|
+
- ext/extconf.rb
|
59
|
+
- ext/fastfilereader/extconf.rb
|
71
60
|
extra_rdoc_files:
|
72
61
|
- README.md
|
73
62
|
- docs/DocumentationGuidesIndex.md
|
@@ -85,8 +74,10 @@ extra_rdoc_files:
|
|
85
74
|
- docs/old/SPAWNED_PROCESSES
|
86
75
|
- docs/old/TODO
|
87
76
|
files:
|
88
|
-
-
|
89
|
-
-
|
77
|
+
- .gitignore
|
78
|
+
- .travis.yml
|
79
|
+
- .yardopts
|
80
|
+
- CHANGELOG.md
|
90
81
|
- GNU
|
91
82
|
- Gemfile
|
92
83
|
- LICENSE
|
@@ -143,12 +134,17 @@ files:
|
|
143
134
|
- ext/ssl.cpp
|
144
135
|
- ext/ssl.h
|
145
136
|
- java/.classpath
|
137
|
+
- java/.gitignore
|
146
138
|
- java/.project
|
139
|
+
- java/src/com/rubyeventmachine/DatagramPacket.java
|
147
140
|
- java/src/com/rubyeventmachine/EmReactor.java
|
148
141
|
- java/src/com/rubyeventmachine/EmReactorException.java
|
142
|
+
- java/src/com/rubyeventmachine/EventCallback.java
|
143
|
+
- java/src/com/rubyeventmachine/EventCode.java
|
149
144
|
- java/src/com/rubyeventmachine/EventableChannel.java
|
150
145
|
- java/src/com/rubyeventmachine/EventableDatagramChannel.java
|
151
146
|
- java/src/com/rubyeventmachine/EventableSocketChannel.java
|
147
|
+
- java/src/com/rubyeventmachine/SslBox.java
|
152
148
|
- lib/em/buftok.rb
|
153
149
|
- lib/em/callback.rb
|
154
150
|
- lib/em/channel.rb
|
@@ -197,6 +193,8 @@ files:
|
|
197
193
|
- tests/client.crt
|
198
194
|
- tests/client.key
|
199
195
|
- tests/em_test_helper.rb
|
196
|
+
- tests/server.crt
|
197
|
+
- tests/server.key
|
200
198
|
- tests/test_attach.rb
|
201
199
|
- tests/test_basic.rb
|
202
200
|
- tests/test_channel.rb
|
@@ -216,7 +214,9 @@ files:
|
|
216
214
|
- tests/test_httpclient2.rb
|
217
215
|
- tests/test_idle_connection.rb
|
218
216
|
- tests/test_inactivity_timeout.rb
|
217
|
+
- tests/test_iterator.rb
|
219
218
|
- tests/test_kb.rb
|
219
|
+
- tests/test_line_protocol.rb
|
220
220
|
- tests/test_ltp.rb
|
221
221
|
- tests/test_ltp2.rb
|
222
222
|
- tests/test_next_tick.rb
|
@@ -240,43 +240,46 @@ files:
|
|
240
240
|
- tests/test_smtpserver.rb
|
241
241
|
- tests/test_spawn.rb
|
242
242
|
- tests/test_ssl_args.rb
|
243
|
+
- tests/test_ssl_echo_data.rb
|
243
244
|
- tests/test_ssl_methods.rb
|
244
245
|
- tests/test_ssl_verify.rb
|
246
|
+
- tests/test_stomp.rb
|
247
|
+
- tests/test_system.rb
|
245
248
|
- tests/test_threaded_resource.rb
|
246
249
|
- tests/test_tick_loop.rb
|
247
250
|
- tests/test_timers.rb
|
248
251
|
- tests/test_ud.rb
|
249
252
|
- tests/test_unbind_reason.rb
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
+
homepage: http://rubyeventmachine.com
|
254
|
+
licenses:
|
255
|
+
- Ruby
|
256
|
+
- GPL
|
253
257
|
metadata: {}
|
254
258
|
post_install_message:
|
255
259
|
rdoc_options:
|
256
|
-
-
|
260
|
+
- --title
|
257
261
|
- EventMachine
|
258
|
-
-
|
262
|
+
- --main
|
259
263
|
- README.md
|
260
|
-
-
|
264
|
+
- -x
|
261
265
|
- lib/em/version
|
262
|
-
-
|
266
|
+
- -x
|
263
267
|
- lib/jeventmachine
|
264
268
|
require_paths:
|
265
269
|
- lib
|
266
270
|
required_ruby_version: !ruby/object:Gem::Requirement
|
267
271
|
requirements:
|
268
|
-
- -
|
272
|
+
- - '>='
|
269
273
|
- !ruby/object:Gem::Version
|
270
274
|
version: '0'
|
271
275
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
272
276
|
requirements:
|
273
|
-
- -
|
274
|
-
Pg==
|
277
|
+
- - '>='
|
275
278
|
- !ruby/object:Gem::Version
|
276
|
-
version:
|
279
|
+
version: '0'
|
277
280
|
requirements: []
|
278
281
|
rubyforge_project: eventmachine
|
279
|
-
rubygems_version: 2.1.
|
282
|
+
rubygems_version: 2.1.9
|
280
283
|
signing_key:
|
281
284
|
specification_version: 4
|
282
285
|
summary: Ruby/EventMachine library
|
data/lib/rubyeventmachine.jar
DELETED
Binary file
|