eventmachine 0.12.6-x86-mswin32-60

Sign up to get free protection for your applications and to get access to all the features.
Files changed (136) hide show
  1. data/.gitignore +13 -0
  2. data/Rakefile +254 -0
  3. data/docs/COPYING +60 -0
  4. data/docs/ChangeLog +211 -0
  5. data/docs/DEFERRABLES +138 -0
  6. data/docs/EPOLL +141 -0
  7. data/docs/GNU +281 -0
  8. data/docs/INSTALL +15 -0
  9. data/docs/KEYBOARD +38 -0
  10. data/docs/LEGAL +25 -0
  11. data/docs/LIGHTWEIGHT_CONCURRENCY +72 -0
  12. data/docs/PURE_RUBY +77 -0
  13. data/docs/README +74 -0
  14. data/docs/RELEASE_NOTES +96 -0
  15. data/docs/SMTP +9 -0
  16. data/docs/SPAWNED_PROCESSES +93 -0
  17. data/docs/TODO +10 -0
  18. data/eventmachine.gemspec +32 -0
  19. data/ext/binder.cpp +126 -0
  20. data/ext/binder.h +48 -0
  21. data/ext/cmain.cpp +586 -0
  22. data/ext/cplusplus.cpp +193 -0
  23. data/ext/ed.cpp +1522 -0
  24. data/ext/ed.h +380 -0
  25. data/ext/em.cpp +1937 -0
  26. data/ext/em.h +186 -0
  27. data/ext/emwin.cpp +300 -0
  28. data/ext/emwin.h +94 -0
  29. data/ext/epoll.cpp +26 -0
  30. data/ext/epoll.h +25 -0
  31. data/ext/eventmachine.h +98 -0
  32. data/ext/eventmachine_cpp.h +95 -0
  33. data/ext/extconf.rb +129 -0
  34. data/ext/fastfilereader/extconf.rb +77 -0
  35. data/ext/fastfilereader/mapper.cpp +214 -0
  36. data/ext/fastfilereader/mapper.h +59 -0
  37. data/ext/fastfilereader/rubymain.cpp +127 -0
  38. data/ext/files.cpp +94 -0
  39. data/ext/files.h +65 -0
  40. data/ext/kb.cpp +82 -0
  41. data/ext/page.cpp +107 -0
  42. data/ext/page.h +51 -0
  43. data/ext/pipe.cpp +351 -0
  44. data/ext/project.h +119 -0
  45. data/ext/rubymain.cpp +847 -0
  46. data/ext/sigs.cpp +89 -0
  47. data/ext/sigs.h +32 -0
  48. data/ext/ssl.cpp +423 -0
  49. data/ext/ssl.h +90 -0
  50. data/java/.classpath +8 -0
  51. data/java/.project +17 -0
  52. data/java/src/com/rubyeventmachine/Application.java +196 -0
  53. data/java/src/com/rubyeventmachine/Connection.java +74 -0
  54. data/java/src/com/rubyeventmachine/ConnectionFactory.java +37 -0
  55. data/java/src/com/rubyeventmachine/DefaultConnectionFactory.java +46 -0
  56. data/java/src/com/rubyeventmachine/EmReactor.java +408 -0
  57. data/java/src/com/rubyeventmachine/EmReactorException.java +40 -0
  58. data/java/src/com/rubyeventmachine/EventableChannel.java +57 -0
  59. data/java/src/com/rubyeventmachine/EventableDatagramChannel.java +171 -0
  60. data/java/src/com/rubyeventmachine/EventableSocketChannel.java +244 -0
  61. data/java/src/com/rubyeventmachine/PeriodicTimer.java +38 -0
  62. data/java/src/com/rubyeventmachine/Timer.java +54 -0
  63. data/java/src/com/rubyeventmachine/tests/ApplicationTest.java +108 -0
  64. data/java/src/com/rubyeventmachine/tests/ConnectTest.java +124 -0
  65. data/java/src/com/rubyeventmachine/tests/EMTest.java +80 -0
  66. data/java/src/com/rubyeventmachine/tests/TestDatagrams.java +53 -0
  67. data/java/src/com/rubyeventmachine/tests/TestServers.java +74 -0
  68. data/java/src/com/rubyeventmachine/tests/TestTimers.java +89 -0
  69. data/lib/em/deferrable.rb +208 -0
  70. data/lib/em/eventable.rb +39 -0
  71. data/lib/em/future.rb +62 -0
  72. data/lib/em/messages.rb +66 -0
  73. data/lib/em/processes.rb +113 -0
  74. data/lib/em/spawnable.rb +88 -0
  75. data/lib/em/streamer.rb +112 -0
  76. data/lib/eventmachine.rb +1926 -0
  77. data/lib/eventmachine_version.rb +31 -0
  78. data/lib/evma.rb +32 -0
  79. data/lib/evma/callback.rb +32 -0
  80. data/lib/evma/container.rb +75 -0
  81. data/lib/evma/factory.rb +77 -0
  82. data/lib/evma/protocol.rb +87 -0
  83. data/lib/evma/reactor.rb +48 -0
  84. data/lib/jeventmachine.rb +137 -0
  85. data/lib/pr_eventmachine.rb +1011 -0
  86. data/lib/protocols/buftok.rb +127 -0
  87. data/lib/protocols/header_and_content.rb +129 -0
  88. data/lib/protocols/httpcli2.rb +803 -0
  89. data/lib/protocols/httpclient.rb +270 -0
  90. data/lib/protocols/line_and_text.rb +126 -0
  91. data/lib/protocols/linetext2.rb +161 -0
  92. data/lib/protocols/memcache.rb +293 -0
  93. data/lib/protocols/postgres.rb +261 -0
  94. data/lib/protocols/saslauth.rb +179 -0
  95. data/lib/protocols/smtpclient.rb +308 -0
  96. data/lib/protocols/smtpserver.rb +556 -0
  97. data/lib/protocols/stomp.rb +153 -0
  98. data/lib/protocols/tcptest.rb +57 -0
  99. data/setup.rb +1585 -0
  100. data/tasks/cpp.rake +77 -0
  101. data/tasks/project.rake +78 -0
  102. data/tasks/tests.rake +193 -0
  103. data/tests/test_attach.rb +83 -0
  104. data/tests/test_basic.rb +231 -0
  105. data/tests/test_connection_count.rb +45 -0
  106. data/tests/test_defer.rb +47 -0
  107. data/tests/test_epoll.rb +163 -0
  108. data/tests/test_error_handler.rb +35 -0
  109. data/tests/test_errors.rb +82 -0
  110. data/tests/test_eventables.rb +77 -0
  111. data/tests/test_exc.rb +58 -0
  112. data/tests/test_futures.rb +214 -0
  113. data/tests/test_handler_check.rb +37 -0
  114. data/tests/test_hc.rb +218 -0
  115. data/tests/test_httpclient.rb +215 -0
  116. data/tests/test_httpclient2.rb +155 -0
  117. data/tests/test_kb.rb +61 -0
  118. data/tests/test_ltp.rb +188 -0
  119. data/tests/test_ltp2.rb +320 -0
  120. data/tests/test_next_tick.rb +109 -0
  121. data/tests/test_processes.rb +95 -0
  122. data/tests/test_pure.rb +129 -0
  123. data/tests/test_running.rb +47 -0
  124. data/tests/test_sasl.rb +74 -0
  125. data/tests/test_send_file.rb +243 -0
  126. data/tests/test_servers.rb +80 -0
  127. data/tests/test_smtpclient.rb +83 -0
  128. data/tests/test_smtpserver.rb +93 -0
  129. data/tests/test_spawn.rb +329 -0
  130. data/tests/test_ssl_args.rb +68 -0
  131. data/tests/test_ssl_methods.rb +50 -0
  132. data/tests/test_timers.rb +148 -0
  133. data/tests/test_ud.rb +43 -0
  134. data/tests/testem.rb +31 -0
  135. data/web/whatis +7 -0
  136. metadata +207 -0
@@ -0,0 +1,68 @@
1
+ require "test/unit"
2
+ require 'tempfile'
3
+
4
+ $:.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
5
+ require "eventmachine"
6
+
7
+ module EventMachine
8
+ def self._set_mocks
9
+ class <<self
10
+ alias set_tls_parms_old set_tls_parms
11
+ alias start_tls_old start_tls
12
+ def set_tls_parms *args; end
13
+ def start_tls *args; end
14
+ end
15
+ end
16
+
17
+ def self._clear_mocks
18
+ class <<self
19
+ alias set_tls_parms set_tls_parms_old
20
+ alias start_tls start_tls_old
21
+ end
22
+ end
23
+ end
24
+
25
+
26
+ class TestSslArgs < Test::Unit::TestCase
27
+ def setup
28
+ EventMachine._set_mocks
29
+ end
30
+
31
+ def teardown
32
+ EventMachine._clear_mocks
33
+ end
34
+
35
+ def test_tls_params_file_doesnt_exist
36
+ priv_file, cert_file = 'foo_priv_key', 'bar_cert_file'
37
+ [priv_file, cert_file].all? do |f|
38
+ assert(!File.exists?(f), "Cert file #{f} seems to exist, and should not for the tests")
39
+ end
40
+
41
+ # associate_callback_target is a pain! (build!)
42
+ conn = EventMachine::Connection.new('foo')
43
+
44
+ assert_raises(EventMachine::FileNotFoundException) do
45
+ conn.start_tls(:private_key_file => priv_file)
46
+ end
47
+ assert_raises(EventMachine::FileNotFoundException) do
48
+ conn.start_tls(:cert_chain_file => cert_file)
49
+ end
50
+ assert_raises(EventMachine::FileNotFoundException) do
51
+ conn.start_tls(:private_key_file => priv_file, :cert_chain_file => cert_file)
52
+ end
53
+ end
54
+
55
+ def test_tls_params_file_does_exist
56
+ priv_file = Tempfile.new('em_test')
57
+ cert_file = Tempfile.new('em_test')
58
+ priv_file_path = priv_file.path
59
+ cert_file_path = cert_file.path
60
+ conn = EventMachine::Connection.new('foo')
61
+ params = {:private_key_file => priv_file_path, :cert_chain_file => cert_file_path}
62
+ begin
63
+ conn.start_tls params
64
+ rescue Object
65
+ assert(false, 'should not have raised an exception')
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,50 @@
1
+ $:.unshift "../lib"
2
+ require 'eventmachine'
3
+ require 'test/unit'
4
+
5
+ class TestSSLMethods < Test::Unit::TestCase
6
+
7
+ module ServerHandler
8
+
9
+ def post_init
10
+ start_tls
11
+ end
12
+
13
+ def ssl_handshake_completed
14
+ $server_called_back = true
15
+ $server_cert_value = get_peer_cert
16
+ end
17
+
18
+ end
19
+
20
+ module ClientHandler
21
+
22
+ def post_init
23
+ start_tls
24
+ end
25
+
26
+ def ssl_handshake_completed
27
+ $client_called_back = true
28
+ $client_cert_value = get_peer_cert
29
+ EM.stop_event_loop
30
+ end
31
+
32
+ end
33
+
34
+ def test_ssl_methods
35
+ $server_called_back, $client_called_back = false, false
36
+ $server_cert_value, $client_cert_value = nil, nil
37
+
38
+ EM.run {
39
+ EM.start_server("127.0.0.1", 9999, ServerHandler)
40
+ EM.connect("127.0.0.1", 9999, ClientHandler)
41
+ }
42
+
43
+ assert($server_called_back)
44
+ assert($client_called_back)
45
+
46
+ assert($server_cert_value.is_a?(NilClass))
47
+ assert($client_cert_value.is_a?(String))
48
+ end
49
+
50
+ end
@@ -0,0 +1,148 @@
1
+ # $Id$
2
+ #
3
+ # Author:: Francis Cianfrocca (gmail: blackhedd)
4
+ # Homepage:: http://rubyeventmachine.com
5
+ # Date:: 8 April 2006
6
+ #
7
+ # See EventMachine and EventMachine::Connection for documentation and
8
+ # usage examples.
9
+ #
10
+ #----------------------------------------------------------------------------
11
+ #
12
+ # Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
13
+ # Gmail: blackhedd
14
+ #
15
+ # This program is free software; you can redistribute it and/or modify
16
+ # it under the terms of either: 1) the GNU General Public License
17
+ # as published by the Free Software Foundation; either version 2 of the
18
+ # License, or (at your option) any later version; or 2) Ruby's License.
19
+ #
20
+ # See the file COPYING for complete licensing information.
21
+ #
22
+ #---------------------------------------------------------------------------
23
+ #
24
+ #
25
+ #
26
+ #
27
+
28
+ $:.unshift "../lib"
29
+ require 'eventmachine'
30
+ require 'test/unit'
31
+
32
+
33
+ class TestTimers < Test::Unit::TestCase
34
+
35
+ def setup
36
+ end
37
+
38
+ def teardown
39
+ end
40
+
41
+ def test_timer_with_block
42
+ x = false
43
+ EventMachine.run {
44
+ EventMachine::Timer.new(0.25) {
45
+ x = true
46
+ EventMachine.stop
47
+ }
48
+ }
49
+ assert x
50
+ end
51
+
52
+ def test_timer_with_proc
53
+ x = false
54
+ EventMachine.run {
55
+ EventMachine::Timer.new(0.25, proc {
56
+ x = true
57
+ EventMachine.stop
58
+ })
59
+ }
60
+ assert x
61
+ end
62
+
63
+ def test_timer_cancel
64
+ x = true
65
+ EventMachine.run {
66
+ timer = EventMachine::Timer.new(0.25, proc { x = false })
67
+ timer.cancel
68
+ EventMachine::Timer.new(0.5, proc {EventMachine.stop})
69
+ }
70
+ assert x
71
+ end
72
+
73
+ def test_periodic_timer
74
+ x = 0
75
+ EventMachine.run {
76
+ EventMachine::PeriodicTimer.new(0.1) do
77
+ x += 1
78
+ EventMachine.stop if x == 4
79
+ end
80
+ }
81
+ assert( x == 4 )
82
+ end
83
+
84
+ def test_periodic_timer_cancel
85
+ x = 0
86
+ EventMachine.run {
87
+ pt = EventMachine::PeriodicTimer.new(0.25, proc { x += 1 })
88
+ pt.cancel
89
+ EventMachine::Timer.new(0.5) {EventMachine.stop}
90
+ }
91
+ assert( x == 0 )
92
+ end
93
+
94
+ def test_periodic_timer_self_cancel
95
+ x = 0
96
+ EventMachine.run {
97
+ pt = EventMachine::PeriodicTimer.new(0.1) {
98
+ x += 1
99
+ if x == 4
100
+ pt.cancel
101
+ EventMachine.stop
102
+ end
103
+ }
104
+ }
105
+ assert( x == 4 )
106
+ end
107
+
108
+
109
+ # This test is only applicable to compiled versions of the reactor.
110
+ # Pure ruby and java versions have no built-in limit on the number of outstanding timers.
111
+ #
112
+ def test_timer_change_max_outstanding
113
+ ten_thousand_timers = proc {
114
+ 10000.times {
115
+ EM.add_timer(5) {}
116
+ }
117
+ }
118
+ EM.run {
119
+ if EM.library_type == :pure_ruby
120
+ ten_thousand_timers.call
121
+ elsif EM.library_type == :java
122
+ ten_thousand_timers.call
123
+ else
124
+ begin
125
+ assert_raises( RuntimeError ) {
126
+ ten_thousand_timers.call
127
+ }
128
+ rescue Object
129
+ p $!
130
+ assert(false, $!.message)
131
+ end
132
+ end
133
+ EM.stop
134
+ }
135
+
136
+ assert(!EM.reactor_running?, 'Reactor running when it should not be.')
137
+ assert( EM.get_max_timers != 10001 )
138
+ EM.set_max_timers( 10001 )
139
+ assert( EM.get_max_timers == 10001 )
140
+
141
+ EM.run {
142
+ ten_thousand_timers.call
143
+ EM.stop
144
+ }
145
+ end
146
+
147
+ end
148
+
@@ -0,0 +1,43 @@
1
+ # $Id$
2
+ #
3
+ # Author:: Francis Cianfrocca (gmail: blackhedd)
4
+ # Homepage:: http://rubyeventmachine.com
5
+ # Date:: 8 April 2006
6
+ #
7
+ # See EventMachine and EventMachine::Connection for documentation and
8
+ # usage examples.
9
+ #
10
+ #----------------------------------------------------------------------------
11
+ #
12
+ # Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
13
+ # Gmail: blackhedd
14
+ #
15
+ # This program is free software; you can redistribute it and/or modify
16
+ # it under the terms of either: 1) the GNU General Public License
17
+ # as published by the Free Software Foundation; either version 2 of the
18
+ # License, or (at your option) any later version; or 2) Ruby's License.
19
+ #
20
+ # See the file COPYING for complete licensing information.
21
+ #
22
+ #---------------------------------------------------------------------------
23
+ #
24
+ #
25
+ #
26
+
27
+ $:.unshift "../lib"
28
+ require 'eventmachine'
29
+ require 'test/unit'
30
+
31
+ class TestUserDefinedEvents < Test::Unit::TestCase
32
+
33
+ def setup
34
+ end
35
+
36
+ def teardown
37
+ end
38
+
39
+ def test_a
40
+ end
41
+
42
+ end
43
+
@@ -0,0 +1,31 @@
1
+ # $Id$
2
+
3
+ require 'test/unit'
4
+
5
+ module EmTestRunner
6
+ @em_root = File.expand_path(File.dirname(__FILE__) + '/../')
7
+ @lib_dir = File.join(@em_root, 'lib')
8
+ @ext_dir = File.join(@em_root, 'ext')
9
+ @java_dir = File.join(@em_root, 'java')
10
+
11
+ def self.run(glob = 'test_*.rb')
12
+ $:.unshift(@lib_dir)
13
+ $:.unshift(@ext_dir)
14
+ $:.unshift(@java_dir)
15
+
16
+ case glob
17
+ when Array
18
+ files = glob
19
+ else
20
+ files = Dir[File.dirname(__FILE__) + '/' + glob]
21
+ end
22
+
23
+ files.each do |tc|
24
+ require tc
25
+ end
26
+ end
27
+ end
28
+
29
+ if __FILE__ == $0
30
+ EmTestRunner.run
31
+ end
@@ -0,0 +1,7 @@
1
+ EventMachine is a library for Ruby, C++, and Java programs. It provides event-driven I/O using the Reactor pattern.
2
+
3
+ EventMachine is designed to simultaneously meet two key needs:
4
+ - Extremely high scalability, performance and stability for the most demanding production environments; and
5
+ - An API that <i>eliminates</i> the complexities of high-performance threaded network programming, allowing engineers to concentrate on their application logic.
6
+
7
+ This unique combination makes EventMachine a premier choice for designers of critical networked applications, including web servers and proxies, email and IM production systems, authentication/authorization processors, and many more.
metadata ADDED
@@ -0,0 +1,207 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: eventmachine
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.12.6
5
+ platform: x86-mswin32-60
6
+ authors:
7
+ - Francis Cianfrocca
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-03-09 00:00:00 +00:00
13
+ default_executable:
14
+ dependencies: []
15
+
16
+ description: EventMachine implements a fast, single-threaded engine for arbitrary network communications. It's extremely easy to use in Ruby. EventMachine wraps all interactions with IP sockets, allowing programs to concentrate on the implementation of network protocols. It can be used to create both network servers and clients. To create a server or client, a Ruby program only needs to specify the IP address and port, and provide a Module that implements the communications protocol. Implementations of several standard network protocols are provided with the package, primarily to serve as examples. The real goal of EventMachine is to enable programs to easily interface with other programs using TCP/IP, especially if custom protocols are required.
17
+ email: garbagecat10@gmail.com
18
+ executables: []
19
+
20
+ extensions: []
21
+
22
+ extra_rdoc_files:
23
+ - docs/ChangeLog
24
+ - docs/COPYING
25
+ - docs/DEFERRABLES
26
+ - docs/EPOLL
27
+ - docs/GNU
28
+ - docs/INSTALL
29
+ - docs/KEYBOARD
30
+ - docs/LEGAL
31
+ - docs/LIGHTWEIGHT_CONCURRENCY
32
+ - docs/PURE_RUBY
33
+ - docs/README
34
+ - docs/RELEASE_NOTES
35
+ - docs/SMTP
36
+ - docs/SPAWNED_PROCESSES
37
+ - docs/TODO
38
+ files:
39
+ - .gitignore
40
+ - Rakefile
41
+ - docs/COPYING
42
+ - docs/ChangeLog
43
+ - docs/DEFERRABLES
44
+ - docs/EPOLL
45
+ - docs/GNU
46
+ - docs/INSTALL
47
+ - docs/KEYBOARD
48
+ - docs/LEGAL
49
+ - docs/LIGHTWEIGHT_CONCURRENCY
50
+ - docs/PURE_RUBY
51
+ - docs/README
52
+ - docs/RELEASE_NOTES
53
+ - docs/SMTP
54
+ - docs/SPAWNED_PROCESSES
55
+ - docs/TODO
56
+ - eventmachine.gemspec
57
+ - ext/binder.cpp
58
+ - ext/binder.h
59
+ - ext/cmain.cpp
60
+ - ext/cplusplus.cpp
61
+ - ext/ed.cpp
62
+ - ext/ed.h
63
+ - ext/em.cpp
64
+ - ext/em.h
65
+ - ext/emwin.cpp
66
+ - ext/emwin.h
67
+ - ext/epoll.cpp
68
+ - ext/epoll.h
69
+ - ext/eventmachine.h
70
+ - ext/eventmachine_cpp.h
71
+ - ext/extconf.rb
72
+ - ext/fastfilereader/extconf.rb
73
+ - ext/fastfilereader/mapper.cpp
74
+ - ext/fastfilereader/mapper.h
75
+ - ext/fastfilereader/rubymain.cpp
76
+ - ext/files.cpp
77
+ - ext/files.h
78
+ - ext/kb.cpp
79
+ - ext/page.cpp
80
+ - ext/page.h
81
+ - ext/pipe.cpp
82
+ - ext/project.h
83
+ - ext/rubymain.cpp
84
+ - ext/sigs.cpp
85
+ - ext/sigs.h
86
+ - ext/ssl.cpp
87
+ - ext/ssl.h
88
+ - java/.classpath
89
+ - java/.project
90
+ - java/src/com/rubyeventmachine/Application.java
91
+ - java/src/com/rubyeventmachine/Connection.java
92
+ - java/src/com/rubyeventmachine/ConnectionFactory.java
93
+ - java/src/com/rubyeventmachine/DefaultConnectionFactory.java
94
+ - java/src/com/rubyeventmachine/EmReactor.java
95
+ - java/src/com/rubyeventmachine/EmReactorException.java
96
+ - java/src/com/rubyeventmachine/EventableChannel.java
97
+ - java/src/com/rubyeventmachine/EventableDatagramChannel.java
98
+ - java/src/com/rubyeventmachine/EventableSocketChannel.java
99
+ - java/src/com/rubyeventmachine/PeriodicTimer.java
100
+ - java/src/com/rubyeventmachine/Timer.java
101
+ - java/src/com/rubyeventmachine/tests/ApplicationTest.java
102
+ - java/src/com/rubyeventmachine/tests/ConnectTest.java
103
+ - java/src/com/rubyeventmachine/tests/EMTest.java
104
+ - java/src/com/rubyeventmachine/tests/TestDatagrams.java
105
+ - java/src/com/rubyeventmachine/tests/TestServers.java
106
+ - java/src/com/rubyeventmachine/tests/TestTimers.java
107
+ - lib/em/deferrable.rb
108
+ - lib/em/eventable.rb
109
+ - lib/em/future.rb
110
+ - lib/em/messages.rb
111
+ - lib/em/processes.rb
112
+ - lib/em/spawnable.rb
113
+ - lib/em/streamer.rb
114
+ - lib/eventmachine.rb
115
+ - lib/eventmachine_version.rb
116
+ - lib/evma.rb
117
+ - lib/evma/callback.rb
118
+ - lib/evma/container.rb
119
+ - lib/evma/factory.rb
120
+ - lib/evma/protocol.rb
121
+ - lib/evma/reactor.rb
122
+ - lib/jeventmachine.rb
123
+ - lib/pr_eventmachine.rb
124
+ - lib/protocols/buftok.rb
125
+ - lib/protocols/header_and_content.rb
126
+ - lib/protocols/httpcli2.rb
127
+ - lib/protocols/httpclient.rb
128
+ - lib/protocols/line_and_text.rb
129
+ - lib/protocols/linetext2.rb
130
+ - lib/protocols/memcache.rb
131
+ - lib/protocols/postgres.rb
132
+ - lib/protocols/saslauth.rb
133
+ - lib/protocols/smtpclient.rb
134
+ - lib/protocols/smtpserver.rb
135
+ - lib/protocols/stomp.rb
136
+ - lib/protocols/tcptest.rb
137
+ - setup.rb
138
+ - tasks/cpp.rake
139
+ - tasks/project.rake
140
+ - tasks/tests.rake
141
+ - tests/test_attach.rb
142
+ - tests/test_basic.rb
143
+ - tests/test_connection_count.rb
144
+ - tests/test_defer.rb
145
+ - tests/test_epoll.rb
146
+ - tests/test_error_handler.rb
147
+ - tests/test_errors.rb
148
+ - tests/test_eventables.rb
149
+ - tests/test_exc.rb
150
+ - tests/test_futures.rb
151
+ - tests/test_handler_check.rb
152
+ - tests/test_hc.rb
153
+ - tests/test_httpclient.rb
154
+ - tests/test_httpclient2.rb
155
+ - tests/test_kb.rb
156
+ - tests/test_ltp.rb
157
+ - tests/test_ltp2.rb
158
+ - tests/test_next_tick.rb
159
+ - tests/test_processes.rb
160
+ - tests/test_pure.rb
161
+ - tests/test_running.rb
162
+ - tests/test_sasl.rb
163
+ - tests/test_send_file.rb
164
+ - tests/test_servers.rb
165
+ - tests/test_smtpclient.rb
166
+ - tests/test_smtpserver.rb
167
+ - tests/test_spawn.rb
168
+ - tests/test_ssl_args.rb
169
+ - tests/test_ssl_methods.rb
170
+ - tests/test_timers.rb
171
+ - tests/test_ud.rb
172
+ - tests/testem.rb
173
+ - web/whatis
174
+ - lib/rubyeventmachine.so
175
+ - lib/fastfilereaderext.so
176
+ has_rdoc: true
177
+ homepage: http://rubyeventmachine.com
178
+ post_install_message:
179
+ rdoc_options:
180
+ - --title
181
+ - EventMachine
182
+ - --main
183
+ - docs/README
184
+ - --line-numbers
185
+ require_paths:
186
+ - lib
187
+ required_ruby_version: !ruby/object:Gem::Requirement
188
+ requirements:
189
+ - - ">="
190
+ - !ruby/object:Gem::Version
191
+ version: "0"
192
+ version:
193
+ required_rubygems_version: !ruby/object:Gem::Requirement
194
+ requirements:
195
+ - - ">="
196
+ - !ruby/object:Gem::Version
197
+ version: "0"
198
+ version:
199
+ requirements: []
200
+
201
+ rubyforge_project: eventmachine
202
+ rubygems_version: 1.3.1
203
+ signing_key:
204
+ specification_version: 2
205
+ summary: Ruby/EventMachine library
206
+ test_files: []
207
+