eventmachine 1.0.0.beta.1-java → 1.0.0.beta.2-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.
- data/Rakefile +7 -298
- data/eventmachine.gemspec +1 -1
- data/ext/cmain.cpp +0 -14
- data/ext/em.cpp +3 -36
- data/ext/em.h +2 -13
- data/ext/eventmachine.h +0 -1
- data/ext/extconf.rb +53 -46
- data/ext/project.h +0 -4
- data/ext/rubymain.cpp +0 -15
- data/lib/em/pure_ruby.rb +3 -2
- data/lib/em/version.rb +1 -1
- data/lib/eventmachine.rb +2 -0
- data/lib/jeventmachine.rb +1 -1
- data/tasks/doc.rake +30 -0
- data/tasks/package.rake +85 -0
- data/tasks/test.rake +6 -0
- metadata +184 -213
- data/ext/cplusplus.cpp +0 -202
- data/ext/emwin.cpp +0 -300
- data/ext/emwin.h +0 -94
- data/ext/epoll.cpp +0 -26
- data/ext/epoll.h +0 -25
- data/ext/eventmachine_cpp.h +0 -96
- data/ext/files.cpp +0 -94
- data/ext/files.h +0 -65
- data/ext/sigs.cpp +0 -89
- data/ext/sigs.h +0 -32
- data/java/src/com/rubyeventmachine/application/Application.java +0 -194
- data/java/src/com/rubyeventmachine/application/Connection.java +0 -74
- data/java/src/com/rubyeventmachine/application/ConnectionFactory.java +0 -37
- data/java/src/com/rubyeventmachine/application/DefaultConnectionFactory.java +0 -46
- data/java/src/com/rubyeventmachine/application/PeriodicTimer.java +0 -38
- data/java/src/com/rubyeventmachine/application/Timer.java +0 -54
- data/java/src/com/rubyeventmachine/tests/ApplicationTest.java +0 -109
- data/java/src/com/rubyeventmachine/tests/ConnectTest.java +0 -148
- data/java/src/com/rubyeventmachine/tests/EMTest.java +0 -80
- data/java/src/com/rubyeventmachine/tests/TestDatagrams.java +0 -53
- data/java/src/com/rubyeventmachine/tests/TestServers.java +0 -75
- data/java/src/com/rubyeventmachine/tests/TestTimers.java +0 -90
- data/lib/evma.rb +0 -32
- data/lib/evma/callback.rb +0 -32
- data/lib/evma/container.rb +0 -75
- data/lib/evma/factory.rb +0 -77
- data/lib/evma/protocol.rb +0 -87
- data/lib/evma/reactor.rb +0 -48
data/ext/eventmachine.h
CHANGED
@@ -97,7 +97,6 @@ extern "C" {
|
|
97
97
|
float evma_get_heartbeat_interval();
|
98
98
|
int evma_set_heartbeat_interval(float);
|
99
99
|
|
100
|
-
const unsigned long evma__write_file (const char *filename);
|
101
100
|
const unsigned long evma_popen (char * const*cmd_strings);
|
102
101
|
|
103
102
|
const unsigned long evma_watch_filename (const char *fname);
|
data/ext/extconf.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'fileutils'
|
1
2
|
require 'mkmf'
|
2
3
|
|
3
4
|
def check_libs libs = [], fatal = false
|
@@ -12,12 +13,63 @@ def add_define(name)
|
|
12
13
|
$defs.push("-D#{name}")
|
13
14
|
end
|
14
15
|
|
16
|
+
##
|
17
|
+
# OpenSSL:
|
18
|
+
|
19
|
+
# override append_library, so it actually appends (instead of prepending)
|
20
|
+
# this fixes issues with linking ssl, since libcrypto depends on symbols in libssl
|
21
|
+
def append_library(libs, lib)
|
22
|
+
libs + " " + format(LIBARG, lib)
|
23
|
+
end
|
24
|
+
|
25
|
+
def manual_ssl_config
|
26
|
+
ssl_libs_heads_args = {
|
27
|
+
:unix => [%w[ssl crypto], %w[openssl/ssl.h openssl/err.h]],
|
28
|
+
:mswin => [%w[ssleay32 libeay32], %w[openssl/ssl.h openssl/err.h]],
|
29
|
+
}
|
30
|
+
|
31
|
+
dc_flags = ['ssl']
|
32
|
+
dc_flags += ["#{ENV['OPENSSL']}/include", ENV['OPENSSL']] if /linux/ =~ RUBY_PLATFORM and ENV['OPENSSL']
|
33
|
+
|
34
|
+
libs, heads = case RUBY_PLATFORM
|
35
|
+
when /mswin/ ; ssl_libs_heads_args[:mswin]
|
36
|
+
else ssl_libs_heads_args[:unix]
|
37
|
+
end
|
38
|
+
dir_config(*dc_flags)
|
39
|
+
check_libs(libs) and check_heads(heads)
|
40
|
+
end
|
41
|
+
|
42
|
+
if ENV['CROSS_COMPILING']
|
43
|
+
openssl_dir = File.expand_path("~/.rake-compiler/builds/openssl-1.0.0a/")
|
44
|
+
if File.exists?(openssl_dir)
|
45
|
+
FileUtils.mkdir_p Dir.pwd+"/openssl/"
|
46
|
+
FileUtils.cp Dir[openssl_dir+"/include/openssl/*.h"], Dir.pwd+"/openssl/", :verbose => true
|
47
|
+
FileUtils.cp Dir[openssl_dir+"/lib*.a"], Dir.pwd, :verbose => true
|
48
|
+
$INCFLAGS << " -I#{Dir.pwd}" # for the openssl headers
|
49
|
+
else
|
50
|
+
STDERR.puts
|
51
|
+
STDERR.puts "**************************************************************************************"
|
52
|
+
STDERR.puts "**** Cross-compiled OpenSSL not found"
|
53
|
+
STDERR.puts "**** Run: hg clone http://bitbucket.org/ged/ruby-pg && cd ruby-pg && rake openssl_libs"
|
54
|
+
STDERR.puts "**************************************************************************************"
|
55
|
+
STDERR.puts
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
# Try to use pkg_config first, fixes #73
|
60
|
+
if pkg_config('openssl') || manual_ssl_config
|
61
|
+
add_define "WITH_SSL"
|
62
|
+
else
|
63
|
+
add_define "WITHOUT_SSL"
|
64
|
+
end
|
65
|
+
|
15
66
|
add_define 'BUILD_FOR_RUBY'
|
16
67
|
add_define 'HAVE_RBTRAP' if have_var('rb_trap_immediate', ['ruby.h', 'rubysig.h'])
|
17
68
|
add_define "HAVE_TBR" if have_func('rb_thread_blocking_region')# and have_macro('RUBY_UBF_IO', 'ruby.h')
|
18
69
|
add_define "HAVE_INOTIFY" if inotify = have_func('inotify_init', 'sys/inotify.h')
|
19
70
|
add_define "HAVE_OLD_INOTIFY" if !inotify && have_macro('__NR_inotify_init', 'sys/syscall.h')
|
20
71
|
add_define 'HAVE_WRITEV' if have_func('writev', 'sys/uio.h')
|
72
|
+
|
21
73
|
have_func('rb_thread_check_ints')
|
22
74
|
have_func('rb_time_new')
|
23
75
|
|
@@ -81,19 +133,6 @@ when /darwin/
|
|
81
133
|
when /linux/
|
82
134
|
add_define 'HAVE_EPOLL' if have_func('epoll_create', 'sys/epoll.h')
|
83
135
|
|
84
|
-
# Original epoll test is inadequate because 2.4 kernels have the header
|
85
|
-
# but not the code.
|
86
|
-
# add_define 'HAVE_EPOLL' if have_header('sys/epoll.h')
|
87
|
-
# if have_header('sys/epoll.h')
|
88
|
-
# File.open("hasEpollTest.c", "w") {|f|
|
89
|
-
# f.puts "#include <sys/epoll.h>"
|
90
|
-
# f.puts "int main() { epoll_create(1024); return 0;}"
|
91
|
-
# }
|
92
|
-
# (e = system( "gcc hasEpollTest.c -o hasEpollTest " )) and (e = $?.to_i)
|
93
|
-
# `rm -f hasEpollTest.c hasEpollTest`
|
94
|
-
# add_define 'HAVE_EPOLL' if e == 0
|
95
|
-
# end
|
96
|
-
|
97
136
|
# on Unix we need a g++ link, not gcc.
|
98
137
|
CONFIG['LDSHARED'] = "$(CXX) -shared"
|
99
138
|
|
@@ -105,38 +144,6 @@ else
|
|
105
144
|
CONFIG['LDSHARED'] = "$(CXX) -shared"
|
106
145
|
end
|
107
146
|
|
108
|
-
# OpenSSL:
|
109
|
-
|
110
|
-
def manual_ssl_config
|
111
|
-
ssl_libs_heads_args = {
|
112
|
-
:unix => [%w[ssl crypto], %w[openssl/ssl.h openssl/err.h]],
|
113
|
-
:darwin => [%w[ssl crypto C], %w[openssl/ssl.h openssl/err.h]],
|
114
|
-
# openbsd and linux:
|
115
|
-
:crypto_hack => [%w[crypto ssl crypto], %w[openssl/ssl.h openssl/err.h]],
|
116
|
-
:mswin => [%w[ssleay32 libeay32], %w[openssl/ssl.h openssl/err.h]],
|
117
|
-
}
|
118
|
-
|
119
|
-
dc_flags = ['ssl']
|
120
|
-
dc_flags += ["#{ENV['OPENSSL']}/include", ENV['OPENSSL']] if /linux/ =~ RUBY_PLATFORM
|
121
|
-
|
122
|
-
libs, heads = case RUBY_PLATFORM
|
123
|
-
when /mswin/ ; ssl_libs_heads_args[:mswin]
|
124
|
-
when /mingw/ ; ssl_libs_heads_args[:unix]
|
125
|
-
when /darwin/ ; ssl_libs_heads_args[:darwin]
|
126
|
-
when /openbsd/ ; ssl_libs_heads_args[:crypto_hack]
|
127
|
-
when /linux/ ; ssl_libs_heads_args[:crypto_hack]
|
128
|
-
else ssl_libs_heads_args[:unix]
|
129
|
-
end
|
130
|
-
dir_config(*dc_flags)
|
131
|
-
check_libs(libs) and check_heads(heads)
|
132
|
-
end
|
133
|
-
|
134
|
-
# Try to use pkg_config first, fixes #73
|
135
|
-
if pkg_config('openssl') || manual_ssl_config
|
136
|
-
add_define "WITH_SSL"
|
137
|
-
else
|
138
|
-
add_define "WITHOUT_SSL"
|
139
|
-
end
|
140
147
|
|
141
148
|
# solaris c++ compiler doesn't have make_pair()
|
142
149
|
TRY_LINK.sub!('$(CC)', '$(CXX)')
|
@@ -147,4 +154,4 @@ add_define 'HAVE_MAKE_PAIR' if try_link(<<SRC, '-lstdc++')
|
|
147
154
|
SRC
|
148
155
|
TRY_LINK.sub!('$(CXX)', '$(CC)')
|
149
156
|
|
150
|
-
create_makefile "rubyeventmachine"
|
157
|
+
create_makefile "rubyeventmachine"
|
data/ext/project.h
CHANGED
@@ -147,13 +147,9 @@ extern "C" {
|
|
147
147
|
|
148
148
|
#include "binder.h"
|
149
149
|
#include "em.h"
|
150
|
-
#include "epoll.h"
|
151
|
-
#include "sigs.h"
|
152
150
|
#include "ed.h"
|
153
|
-
#include "files.h"
|
154
151
|
#include "page.h"
|
155
152
|
#include "ssl.h"
|
156
153
|
#include "eventmachine.h"
|
157
|
-
#include "eventmachine_cpp.h"
|
158
154
|
|
159
155
|
#endif // __Project__H_
|
data/ext/rubymain.cpp
CHANGED
@@ -737,18 +737,6 @@ static VALUE t_setuid_string (VALUE self, VALUE username)
|
|
737
737
|
|
738
738
|
|
739
739
|
|
740
|
-
/*************
|
741
|
-
t__write_file
|
742
|
-
*************/
|
743
|
-
|
744
|
-
static VALUE t__write_file (VALUE self, VALUE filename)
|
745
|
-
{
|
746
|
-
const unsigned long f = evma__write_file (StringValuePtr (filename));
|
747
|
-
if (!f)
|
748
|
-
rb_raise (rb_eRuntimeError, "file not opened");
|
749
|
-
return ULONG2NUM (f);
|
750
|
-
}
|
751
|
-
|
752
740
|
/**************
|
753
741
|
t_invoke_popen
|
754
742
|
**************/
|
@@ -1172,9 +1160,6 @@ extern "C" void Init_rubyeventmachine()
|
|
1172
1160
|
rb_define_module_function (EmModule, "get_heartbeat_interval", (VALUE(*)(...))t_get_heartbeat_interval, 0);
|
1173
1161
|
rb_define_module_function (EmModule, "set_heartbeat_interval", (VALUE(*)(...))t_set_heartbeat_interval, 1);
|
1174
1162
|
|
1175
|
-
// Provisional:
|
1176
|
-
rb_define_module_function (EmModule, "_write_file", (VALUE(*)(...))t__write_file, 1);
|
1177
|
-
|
1178
1163
|
rb_define_module_function (EmModule, "get_peername", (VALUE(*)(...))t_get_peername, 1);
|
1179
1164
|
rb_define_module_function (EmModule, "get_sockname", (VALUE(*)(...))t_get_sockname, 1);
|
1180
1165
|
rb_define_module_function (EmModule, "get_subprocess_pid", (VALUE(*)(...))t_get_subprocess_pid, 1);
|
data/lib/em/pure_ruby.rb
CHANGED
@@ -1007,6 +1007,7 @@ module EventMachine
|
|
1007
1007
|
end
|
1008
1008
|
end
|
1009
1009
|
|
1010
|
-
|
1011
|
-
|
1010
|
+
# load base EM api on top, now that we have the underlying pure ruby
|
1011
|
+
# implementation defined
|
1012
|
+
require 'eventmachine'
|
1012
1013
|
|
data/lib/em/version.rb
CHANGED
data/lib/eventmachine.rb
CHANGED
data/lib/jeventmachine.rb
CHANGED
data/tasks/doc.rake
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
rdoc_task_type = begin
|
2
|
+
require 'rdoc/task'
|
3
|
+
RDoc::Task
|
4
|
+
rescue LoadError
|
5
|
+
require 'rake/rdoctask'
|
6
|
+
Rake::RDocTask
|
7
|
+
end
|
8
|
+
|
9
|
+
df = begin; require 'rdoc/rdoc'; require 'rdoc/generator/darkfish'; true; rescue LoadError; end
|
10
|
+
|
11
|
+
rdtask = rdoc_task_type.new do |rd|
|
12
|
+
rd.title = GEMSPEC.name
|
13
|
+
rd.rdoc_dir = 'rdoc'
|
14
|
+
rd.main = "README"
|
15
|
+
rd.rdoc_files.include("lib/**/*.rb", *GEMSPEC.extra_rdoc_files)
|
16
|
+
rd.rdoc_files.exclude(*%w(lib/em/version lib/emva lib/evma/ lib/pr_eventmachine lib/jeventmachine))
|
17
|
+
rd.template = 'darkfish' if df
|
18
|
+
end
|
19
|
+
|
20
|
+
Rake::Task[:clean].enhance [:clobber_rdoc]
|
21
|
+
|
22
|
+
desc 'Generate and open documentation'
|
23
|
+
task :docs => :rdoc do
|
24
|
+
case RUBY_PLATFORM
|
25
|
+
when /darwin/ ; sh 'open rdoc/index.html'
|
26
|
+
when /mswin|mingw/ ; sh 'start rdoc\index.html'
|
27
|
+
else
|
28
|
+
sh 'firefox rdoc/index.html'
|
29
|
+
end
|
30
|
+
end
|
data/tasks/package.rake
ADDED
@@ -0,0 +1,85 @@
|
|
1
|
+
require 'rake/gempackagetask'
|
2
|
+
require 'rake/extensiontask'
|
3
|
+
require 'rake/javaextensiontask'
|
4
|
+
|
5
|
+
Rake::GemPackageTask.new(GEMSPEC) do |pkg|
|
6
|
+
end
|
7
|
+
|
8
|
+
if RUBY_PLATFORM =~ /java/
|
9
|
+
Rake::JavaExtensionTask.new("rubyeventmachine", GEMSPEC) do |ext|
|
10
|
+
ext.ext_dir = 'java/src'
|
11
|
+
end
|
12
|
+
else
|
13
|
+
def setup_cross_compilation(ext)
|
14
|
+
unless RUBY_PLATFORM =~ /mswin|mingw/
|
15
|
+
ext.cross_compile = true
|
16
|
+
ext.cross_platform = ['x86-mingw32', 'x86-mswin32-60']
|
17
|
+
|
18
|
+
# inject 1.8/1.9 pure-ruby entry point
|
19
|
+
ext.cross_compiling do |spec|
|
20
|
+
spec.files += ["lib/#{ext.name}.rb"]
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
Rake::ExtensionTask.new("rubyeventmachine", GEMSPEC) do |ext|
|
26
|
+
ext.ext_dir = 'ext'
|
27
|
+
setup_cross_compilation(ext)
|
28
|
+
end
|
29
|
+
Rake::ExtensionTask.new("fastfilereaderext", GEMSPEC) do |ext|
|
30
|
+
ext.ext_dir = 'ext/fastfilereader'
|
31
|
+
setup_cross_compilation(ext)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
# Setup shim files that require 1.8 vs 1.9 extensions in win32 bin gems
|
36
|
+
%w[ rubyeventmachine fastfilereaderext ].each do |filename|
|
37
|
+
file("lib/#{filename}.rb") do |t|
|
38
|
+
File.open(t.name, 'wb') do |f|
|
39
|
+
f.write <<-eoruby
|
40
|
+
RUBY_VERSION =~ /(\\d+.\\d+)/
|
41
|
+
require "\#{$1}/#{File.basename(t.name, '.rb')}"
|
42
|
+
eoruby
|
43
|
+
end
|
44
|
+
at_exit{ FileUtils.rm t.name if File.exists?(t.name) }
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
task :cross_cxx do
|
49
|
+
ENV['CROSS_COMPILING'] = 'yes'
|
50
|
+
ENV['CXX'] = 'i386-mingw32-g++'
|
51
|
+
end
|
52
|
+
|
53
|
+
if Rake::Task.task_defined?(:cross)
|
54
|
+
task :cross => 'lib/rubyeventmachine.rb'
|
55
|
+
task :cross => 'lib/fastfilereaderext.rb'
|
56
|
+
task :cross => :cross_cxx
|
57
|
+
end
|
58
|
+
|
59
|
+
def windows?; RUBY_PLATFORM =~ /mswin|mingw/; end
|
60
|
+
def sudo(cmd)
|
61
|
+
if windows? || (require 'etc'; Etc.getpwuid.uid == 0)
|
62
|
+
sh cmd
|
63
|
+
else
|
64
|
+
sh "sudo #{cmd}"
|
65
|
+
end
|
66
|
+
end
|
67
|
+
def gem_cmd(action, name, *args)
|
68
|
+
rb = Gem.ruby rescue nil
|
69
|
+
rb ||= (require 'rbconfig'; File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name']))
|
70
|
+
sudo "#{rb} -r rubygems -e 'require %{rubygems/gem_runner}; Gem::GemRunner.new.run(%w{#{action} #{name} #{args.join(' ')}})'"
|
71
|
+
end
|
72
|
+
|
73
|
+
Rake::Task[:clean].enhance [:clobber_package]
|
74
|
+
|
75
|
+
namespace :gem do
|
76
|
+
desc 'Install gem (and sudo if required)'
|
77
|
+
task :install => :package do
|
78
|
+
gem_cmd(:install, "pkg/#{GEMSPEC.name}-#{GEMSPEC.version}.gem")
|
79
|
+
end
|
80
|
+
|
81
|
+
desc 'Uninstall gem (and sudo if required)'
|
82
|
+
task :uninstall do
|
83
|
+
gem_cmd(:uninstall, "#{GEMSPEC.name}", "-v=#{GEMSPEC.version}")
|
84
|
+
end
|
85
|
+
end
|
data/tasks/test.rake
ADDED
metadata
CHANGED
@@ -3,35 +3,35 @@ name: eventmachine
|
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease: true
|
5
5
|
segments:
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
version: 1.0.0.beta.
|
6
|
+
- 1
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
- beta
|
10
|
+
- 2
|
11
|
+
version: 1.0.0.beta.2
|
12
12
|
platform: java
|
13
13
|
authors:
|
14
|
-
- Francis Cianfrocca
|
15
|
-
- Aman Gupta
|
14
|
+
- Francis Cianfrocca
|
15
|
+
- Aman Gupta
|
16
16
|
autorequire:
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
19
|
|
20
|
-
date: 2010-11-13 00:00:00
|
20
|
+
date: 2010-11-13 00:00:00 +05:30
|
21
21
|
default_executable:
|
22
22
|
dependencies:
|
23
|
-
- !ruby/object:Gem::Dependency
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
23
|
+
- !ruby/object:Gem::Dependency
|
24
|
+
name: rake-compiler
|
25
|
+
prerelease: false
|
26
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
27
|
+
requirements:
|
28
|
+
- - ">="
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
segments:
|
31
|
+
- 0
|
32
|
+
version: "0"
|
33
|
+
type: :development
|
34
|
+
version_requirements: *id001
|
35
35
|
description: |-
|
36
36
|
EventMachine implements a fast, single-threaded engine for arbitrary network
|
37
37
|
communications. It's extremely easy to use in Ruby. EventMachine wraps all
|
@@ -44,8 +44,8 @@ description: |-
|
|
44
44
|
of EventMachine is to enable programs to easily interface with other programs
|
45
45
|
using TCP/IP, especially if custom protocols are required.
|
46
46
|
email:
|
47
|
-
- garbagecat10@gmail.com
|
48
|
-
- aman@tmm1.net
|
47
|
+
- garbagecat10@gmail.com
|
48
|
+
- aman@tmm1.net
|
49
49
|
executables: []
|
50
50
|
|
51
51
|
extensions: []
|
@@ -53,207 +53,178 @@ extensions: []
|
|
53
53
|
extra_rdoc_files: []
|
54
54
|
|
55
55
|
files:
|
56
|
-
- .gitignore
|
57
|
-
- Gemfile
|
58
|
-
- README
|
59
|
-
- Rakefile
|
60
|
-
- docs/COPYING
|
61
|
-
- docs/ChangeLog
|
62
|
-
- docs/DEFERRABLES
|
63
|
-
- docs/EPOLL
|
64
|
-
- docs/GNU
|
65
|
-
- docs/INSTALL
|
66
|
-
- docs/KEYBOARD
|
67
|
-
- docs/LEGAL
|
68
|
-
- docs/LIGHTWEIGHT_CONCURRENCY
|
69
|
-
- docs/PURE_RUBY
|
70
|
-
- docs/RELEASE_NOTES
|
71
|
-
- docs/SMTP
|
72
|
-
- docs/SPAWNED_PROCESSES
|
73
|
-
- docs/TODO
|
74
|
-
- eventmachine.gemspec
|
75
|
-
- examples/ex_channel.rb
|
76
|
-
- examples/ex_queue.rb
|
77
|
-
- examples/ex_tick_loop_array.rb
|
78
|
-
- examples/ex_tick_loop_counter.rb
|
79
|
-
- examples/helper.rb
|
80
|
-
- ext/binder.cpp
|
81
|
-
- ext/binder.h
|
82
|
-
- ext/cmain.cpp
|
83
|
-
- ext/
|
84
|
-
- ext/ed.
|
85
|
-
- ext/
|
86
|
-
- ext/em.
|
87
|
-
- ext/
|
88
|
-
- ext/
|
89
|
-
- ext/
|
90
|
-
- ext/
|
91
|
-
- ext/
|
92
|
-
- ext/
|
93
|
-
- ext/
|
94
|
-
- ext/
|
95
|
-
- ext/
|
96
|
-
- ext/
|
97
|
-
- ext/
|
98
|
-
- ext/
|
99
|
-
- ext/
|
100
|
-
- ext/
|
101
|
-
-
|
102
|
-
-
|
103
|
-
-
|
104
|
-
-
|
105
|
-
-
|
106
|
-
-
|
107
|
-
-
|
108
|
-
-
|
109
|
-
-
|
110
|
-
-
|
111
|
-
-
|
112
|
-
-
|
113
|
-
-
|
114
|
-
-
|
115
|
-
-
|
116
|
-
-
|
117
|
-
-
|
118
|
-
-
|
119
|
-
-
|
120
|
-
-
|
121
|
-
-
|
122
|
-
-
|
123
|
-
-
|
124
|
-
-
|
125
|
-
-
|
126
|
-
-
|
127
|
-
-
|
128
|
-
-
|
129
|
-
-
|
130
|
-
- lib/em/
|
131
|
-
- lib/em/
|
132
|
-
- lib/em/
|
133
|
-
- lib/em/
|
134
|
-
- lib/em/
|
135
|
-
- lib/em/
|
136
|
-
- lib/em/
|
137
|
-
- lib/em/
|
138
|
-
- lib/em/
|
139
|
-
- lib/em/
|
140
|
-
- lib/em/
|
141
|
-
- lib/em/
|
142
|
-
- lib/
|
143
|
-
- lib/
|
144
|
-
-
|
145
|
-
-
|
146
|
-
-
|
147
|
-
-
|
148
|
-
-
|
149
|
-
-
|
150
|
-
-
|
151
|
-
-
|
152
|
-
-
|
153
|
-
-
|
154
|
-
-
|
155
|
-
-
|
156
|
-
-
|
157
|
-
-
|
158
|
-
-
|
159
|
-
-
|
160
|
-
-
|
161
|
-
-
|
162
|
-
-
|
163
|
-
-
|
164
|
-
-
|
165
|
-
-
|
166
|
-
-
|
167
|
-
-
|
168
|
-
-
|
169
|
-
-
|
170
|
-
-
|
171
|
-
-
|
172
|
-
-
|
173
|
-
-
|
174
|
-
- tests/
|
175
|
-
- tests/
|
176
|
-
- tests/
|
177
|
-
- tests/
|
178
|
-
- tests/
|
179
|
-
- tests/
|
180
|
-
- tests/
|
181
|
-
- tests/
|
182
|
-
- tests/
|
183
|
-
- tests/
|
184
|
-
- tests/
|
185
|
-
- tests/
|
186
|
-
- tests/
|
187
|
-
- tests/
|
188
|
-
- tests/
|
189
|
-
- tests/
|
190
|
-
- tests/
|
191
|
-
- tests/
|
192
|
-
- tests/
|
193
|
-
- tests/
|
194
|
-
- tests/
|
195
|
-
-
|
196
|
-
- tests/test_ltp2.rb
|
197
|
-
- tests/test_next_tick.rb
|
198
|
-
- tests/test_object_protocol.rb
|
199
|
-
- tests/test_pause.rb
|
200
|
-
- tests/test_pending_connect_timeout.rb
|
201
|
-
- tests/test_process_watch.rb
|
202
|
-
- tests/test_processes.rb
|
203
|
-
- tests/test_proxy_connection.rb
|
204
|
-
- tests/test_pure.rb
|
205
|
-
- tests/test_queue.rb
|
206
|
-
- tests/test_running.rb
|
207
|
-
- tests/test_sasl.rb
|
208
|
-
- tests/test_send_file.rb
|
209
|
-
- tests/test_servers.rb
|
210
|
-
- tests/test_smtpclient.rb
|
211
|
-
- tests/test_smtpserver.rb
|
212
|
-
- tests/test_spawn.rb
|
213
|
-
- tests/test_ssl_args.rb
|
214
|
-
- tests/test_ssl_methods.rb
|
215
|
-
- tests/test_ssl_verify.rb
|
216
|
-
- tests/test_tick_loop.rb
|
217
|
-
- tests/test_timers.rb
|
218
|
-
- tests/test_ud.rb
|
219
|
-
- tests/testem.rb
|
220
|
-
- lib/em_reactor.jar
|
56
|
+
- .gitignore
|
57
|
+
- Gemfile
|
58
|
+
- README
|
59
|
+
- Rakefile
|
60
|
+
- docs/COPYING
|
61
|
+
- docs/ChangeLog
|
62
|
+
- docs/DEFERRABLES
|
63
|
+
- docs/EPOLL
|
64
|
+
- docs/GNU
|
65
|
+
- docs/INSTALL
|
66
|
+
- docs/KEYBOARD
|
67
|
+
- docs/LEGAL
|
68
|
+
- docs/LIGHTWEIGHT_CONCURRENCY
|
69
|
+
- docs/PURE_RUBY
|
70
|
+
- docs/RELEASE_NOTES
|
71
|
+
- docs/SMTP
|
72
|
+
- docs/SPAWNED_PROCESSES
|
73
|
+
- docs/TODO
|
74
|
+
- eventmachine.gemspec
|
75
|
+
- examples/ex_channel.rb
|
76
|
+
- examples/ex_queue.rb
|
77
|
+
- examples/ex_tick_loop_array.rb
|
78
|
+
- examples/ex_tick_loop_counter.rb
|
79
|
+
- examples/helper.rb
|
80
|
+
- ext/binder.cpp
|
81
|
+
- ext/binder.h
|
82
|
+
- ext/cmain.cpp
|
83
|
+
- ext/ed.cpp
|
84
|
+
- ext/ed.h
|
85
|
+
- ext/em.cpp
|
86
|
+
- ext/em.h
|
87
|
+
- ext/eventmachine.h
|
88
|
+
- ext/extconf.rb
|
89
|
+
- ext/fastfilereader/extconf.rb
|
90
|
+
- ext/fastfilereader/mapper.cpp
|
91
|
+
- ext/fastfilereader/mapper.h
|
92
|
+
- ext/fastfilereader/rubymain.cpp
|
93
|
+
- ext/kb.cpp
|
94
|
+
- ext/page.cpp
|
95
|
+
- ext/page.h
|
96
|
+
- ext/pipe.cpp
|
97
|
+
- ext/project.h
|
98
|
+
- ext/rubymain.cpp
|
99
|
+
- ext/ssl.cpp
|
100
|
+
- ext/ssl.h
|
101
|
+
- java/.classpath
|
102
|
+
- java/.project
|
103
|
+
- java/src/com/rubyeventmachine/EmReactor.java
|
104
|
+
- java/src/com/rubyeventmachine/EmReactorException.java
|
105
|
+
- java/src/com/rubyeventmachine/EventableChannel.java
|
106
|
+
- java/src/com/rubyeventmachine/EventableDatagramChannel.java
|
107
|
+
- java/src/com/rubyeventmachine/EventableSocketChannel.java
|
108
|
+
- lib/em/buftok.rb
|
109
|
+
- lib/em/callback.rb
|
110
|
+
- lib/em/channel.rb
|
111
|
+
- lib/em/connection.rb
|
112
|
+
- lib/em/deferrable.rb
|
113
|
+
- lib/em/file_watch.rb
|
114
|
+
- lib/em/future.rb
|
115
|
+
- lib/em/iterator.rb
|
116
|
+
- lib/em/messages.rb
|
117
|
+
- lib/em/process_watch.rb
|
118
|
+
- lib/em/processes.rb
|
119
|
+
- lib/em/protocols.rb
|
120
|
+
- lib/em/protocols/header_and_content.rb
|
121
|
+
- lib/em/protocols/httpclient.rb
|
122
|
+
- lib/em/protocols/httpclient2.rb
|
123
|
+
- lib/em/protocols/line_and_text.rb
|
124
|
+
- lib/em/protocols/line_protocol.rb
|
125
|
+
- lib/em/protocols/linetext2.rb
|
126
|
+
- lib/em/protocols/memcache.rb
|
127
|
+
- lib/em/protocols/object_protocol.rb
|
128
|
+
- lib/em/protocols/postgres3.rb
|
129
|
+
- lib/em/protocols/saslauth.rb
|
130
|
+
- lib/em/protocols/smtpclient.rb
|
131
|
+
- lib/em/protocols/smtpserver.rb
|
132
|
+
- lib/em/protocols/socks4.rb
|
133
|
+
- lib/em/protocols/stomp.rb
|
134
|
+
- lib/em/protocols/tcptest.rb
|
135
|
+
- lib/em/pure_ruby.rb
|
136
|
+
- lib/em/queue.rb
|
137
|
+
- lib/em/spawnable.rb
|
138
|
+
- lib/em/streamer.rb
|
139
|
+
- lib/em/tick_loop.rb
|
140
|
+
- lib/em/timers.rb
|
141
|
+
- lib/em/version.rb
|
142
|
+
- lib/eventmachine.rb
|
143
|
+
- lib/jeventmachine.rb
|
144
|
+
- setup.rb
|
145
|
+
- tasks/cpp.rake_example
|
146
|
+
- tasks/doc.rake
|
147
|
+
- tasks/package.rake
|
148
|
+
- tasks/test.rake
|
149
|
+
- tests/client.crt
|
150
|
+
- tests/client.key
|
151
|
+
- tests/test_attach.rb
|
152
|
+
- tests/test_basic.rb
|
153
|
+
- tests/test_channel.rb
|
154
|
+
- tests/test_connection_count.rb
|
155
|
+
- tests/test_defer.rb
|
156
|
+
- tests/test_deferrable.rb
|
157
|
+
- tests/test_epoll.rb
|
158
|
+
- tests/test_error_handler.rb
|
159
|
+
- tests/test_errors.rb
|
160
|
+
- tests/test_exc.rb
|
161
|
+
- tests/test_file_watch.rb
|
162
|
+
- tests/test_futures.rb
|
163
|
+
- tests/test_get_sock_opt.rb
|
164
|
+
- tests/test_handler_check.rb
|
165
|
+
- tests/test_hc.rb
|
166
|
+
- tests/test_httpclient.rb
|
167
|
+
- tests/test_httpclient2.rb
|
168
|
+
- tests/test_inactivity_timeout.rb
|
169
|
+
- tests/test_kb.rb
|
170
|
+
- tests/test_ltp.rb
|
171
|
+
- tests/test_ltp2.rb
|
172
|
+
- tests/test_next_tick.rb
|
173
|
+
- tests/test_object_protocol.rb
|
174
|
+
- tests/test_pause.rb
|
175
|
+
- tests/test_pending_connect_timeout.rb
|
176
|
+
- tests/test_process_watch.rb
|
177
|
+
- tests/test_processes.rb
|
178
|
+
- tests/test_proxy_connection.rb
|
179
|
+
- tests/test_pure.rb
|
180
|
+
- tests/test_queue.rb
|
181
|
+
- tests/test_running.rb
|
182
|
+
- tests/test_sasl.rb
|
183
|
+
- tests/test_send_file.rb
|
184
|
+
- tests/test_servers.rb
|
185
|
+
- tests/test_smtpclient.rb
|
186
|
+
- tests/test_smtpserver.rb
|
187
|
+
- tests/test_spawn.rb
|
188
|
+
- tests/test_ssl_args.rb
|
189
|
+
- tests/test_ssl_methods.rb
|
190
|
+
- tests/test_ssl_verify.rb
|
191
|
+
- tests/test_tick_loop.rb
|
192
|
+
- tests/test_timers.rb
|
193
|
+
- tests/test_ud.rb
|
194
|
+
- tests/testem.rb
|
195
|
+
- lib/rubyeventmachine.jar
|
221
196
|
has_rdoc: true
|
222
197
|
homepage: http://rubyeventmachine.com
|
223
198
|
licenses: []
|
224
199
|
|
225
200
|
post_install_message:
|
226
201
|
rdoc_options:
|
227
|
-
- --title
|
228
|
-
- EventMachine
|
229
|
-
- --main
|
230
|
-
- README
|
231
|
-
- -x
|
232
|
-
- lib/em/version
|
233
|
-
- -x
|
234
|
-
- lib/
|
235
|
-
- -x
|
236
|
-
- lib/evma/
|
237
|
-
- -x
|
238
|
-
- lib/jeventmachine
|
202
|
+
- --title
|
203
|
+
- EventMachine
|
204
|
+
- --main
|
205
|
+
- README
|
206
|
+
- -x
|
207
|
+
- lib/em/version
|
208
|
+
- -x
|
209
|
+
- lib/jeventmachine
|
239
210
|
require_paths:
|
240
|
-
- lib
|
211
|
+
- lib
|
241
212
|
required_ruby_version: !ruby/object:Gem::Requirement
|
242
213
|
requirements:
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
214
|
+
- - ">="
|
215
|
+
- !ruby/object:Gem::Version
|
216
|
+
segments:
|
217
|
+
- 0
|
218
|
+
version: "0"
|
248
219
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
249
220
|
requirements:
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
221
|
+
- - ">"
|
222
|
+
- !ruby/object:Gem::Version
|
223
|
+
segments:
|
224
|
+
- 1
|
225
|
+
- 3
|
226
|
+
- 1
|
227
|
+
version: 1.3.1
|
257
228
|
requirements: []
|
258
229
|
|
259
230
|
rubyforge_project: eventmachine
|