sonixlabs-eventmachine-java 1.0.0.rc.7-java → 1.0.3.1-java

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 (58) hide show
  1. checksums.yaml +4 -12
  2. data/.travis.yml +12 -0
  3. data/CHANGELOG.md +33 -0
  4. data/Gemfile +0 -1
  5. data/README.md +2 -2
  6. data/README_JP.md +10 -2
  7. data/eventmachine.gemspec +10 -7
  8. data/ext/binder.cpp +1 -1
  9. data/ext/cmain.cpp +11 -0
  10. data/ext/ed.cpp +22 -7
  11. data/ext/ed.h +5 -5
  12. data/ext/em.cpp +64 -66
  13. data/ext/em.h +10 -5
  14. data/ext/eventmachine.h +1 -0
  15. data/ext/extconf.rb +4 -3
  16. data/ext/fastfilereader/extconf.rb +1 -1
  17. data/ext/rubymain.cpp +22 -1
  18. data/ext/ssl.cpp +1 -1
  19. data/java/.classpath +1 -3
  20. data/java/.gitignore +1 -0
  21. data/java/src/com/rubyeventmachine/DatagramPacket.java +13 -0
  22. data/java/src/com/rubyeventmachine/EmReactor.java +502 -561
  23. data/java/src/com/rubyeventmachine/EventCallback.java +7 -0
  24. data/java/src/com/rubyeventmachine/EventCode.java +26 -0
  25. data/java/src/com/rubyeventmachine/EventableChannel.java +102 -42
  26. data/java/src/com/rubyeventmachine/EventableDatagramChannel.java +146 -161
  27. data/java/src/com/rubyeventmachine/EventableSocketChannel.java +371 -334
  28. data/java/src/com/rubyeventmachine/SslBox.java +310 -0
  29. data/lib/em/iterator.rb +5 -44
  30. data/lib/em/processes.rb +1 -1
  31. data/lib/em/protocols/httpclient.rb +2 -2
  32. data/lib/em/protocols/line_protocol.rb +2 -2
  33. data/lib/em/protocols/smtpclient.rb +1 -1
  34. data/lib/em/protocols/smtpserver.rb +10 -7
  35. data/lib/em/protocols/stomp.rb +5 -2
  36. data/lib/em/protocols.rb +1 -0
  37. data/lib/em/version.rb +1 -1
  38. data/lib/eventmachine.rb +35 -14
  39. data/lib/jeventmachine.rb +65 -18
  40. data/rakelib/package.rake +15 -18
  41. data/tests/server.crt +36 -0
  42. data/tests/server.key +51 -0
  43. data/tests/test_attach.rb +24 -0
  44. data/tests/test_connection_count.rb +21 -1
  45. data/tests/test_epoll.rb +15 -0
  46. data/tests/test_httpclient2.rb +5 -0
  47. data/tests/test_idle_connection.rb +6 -4
  48. data/tests/test_iterator.rb +97 -0
  49. data/tests/test_line_protocol.rb +33 -0
  50. data/tests/test_pause.rb +24 -0
  51. data/tests/test_set_sock_opt.rb +1 -1
  52. data/tests/test_ssl_echo_data.rb +60 -0
  53. data/tests/test_ssl_methods.rb +15 -7
  54. data/tests/test_ssl_verify.rb +4 -4
  55. data/tests/test_stomp.rb +37 -0
  56. data/tests/test_system.rb +42 -0
  57. metadata +45 -42
  58. data/lib/rubyeventmachine.jar +0 -0
@@ -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
- $server_cert_value = get_peer_cert
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
- $client_cert_value = get_peer_cert
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
- assert($server_cert_value.is_a?(NilClass))
45
- assert($client_cert_value.is_a?(String))
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?
@@ -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
@@ -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.0.rc.7
4
+ version: 1.0.3.1
5
5
  platform: java
6
6
  authors:
7
- - Kazuhiro Yamada
7
+ - Francis Cianfrocca
8
+ - Aman Gupta
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-11-18 00:00:00.000000000 Z
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.1
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.1
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.7.2
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.7.2
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
- - sonixlabs@sonix.asia
68
- - yamadakazu45@gmail.com
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
- - ".gitignore"
89
- - ".yardopts"
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
- - lib/rubyeventmachine.jar
251
- homepage: https://github.com/sonixlabs/eventmachine
252
- licenses: []
253
+ homepage: http://rubyeventmachine.com
254
+ licenses:
255
+ - Ruby
256
+ - GPL
253
257
  metadata: {}
254
258
  post_install_message:
255
259
  rdoc_options:
256
- - "--title"
260
+ - --title
257
261
  - EventMachine
258
- - "--main"
262
+ - --main
259
263
  - README.md
260
- - "-x"
264
+ - -x
261
265
  - lib/em/version
262
- - "-x"
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
- - - !binary |-
274
- Pg==
277
+ - - '>='
275
278
  - !ruby/object:Gem::Version
276
- version: 1.3.1
279
+ version: '0'
277
280
  requirements: []
278
281
  rubyforge_project: eventmachine
279
- rubygems_version: 2.1.11
282
+ rubygems_version: 2.1.9
280
283
  signing_key:
281
284
  specification_version: 4
282
285
  summary: Ruby/EventMachine library
Binary file