eventmachine 1.0.9.1 → 1.2.0.dev.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/ext/cmain.cpp +77 -5
- data/ext/ed.cpp +100 -39
- data/ext/ed.h +27 -13
- data/ext/em.cpp +105 -163
- data/ext/em.h +10 -7
- data/ext/eventmachine.h +13 -1
- data/ext/extconf.rb +22 -13
- data/ext/fastfilereader/rubymain.cpp +6 -6
- data/ext/project.h +9 -4
- data/ext/rubymain.cpp +155 -36
- data/ext/ssl.cpp +157 -13
- data/ext/ssl.h +7 -2
- data/lib/em/channel.rb +5 -0
- data/lib/em/completion.rb +2 -2
- data/lib/em/connection.rb +61 -3
- data/lib/em/iterator.rb +26 -5
- data/lib/em/pool.rb +1 -1
- data/lib/em/protocols/line_and_text.rb +1 -1
- data/lib/em/pure_ruby.rb +6 -1
- data/lib/em/queue.rb +16 -7
- data/lib/em/resolver.rb +46 -23
- data/lib/em/threaded_resource.rb +2 -2
- data/lib/em/version.rb +1 -1
- data/lib/eventmachine.rb +59 -42
- data/rakelib/package.rake +23 -1
- data/tests/dhparam.pem +13 -0
- data/tests/em_test_helper.rb +79 -0
- data/tests/test_basic.rb +17 -26
- data/tests/test_channel.rb +14 -1
- data/tests/test_connection_write.rb +2 -2
- data/tests/test_defer.rb +17 -0
- data/tests/test_epoll.rb +1 -1
- data/tests/test_fork.rb +75 -0
- data/tests/test_ipv4.rb +125 -0
- data/tests/test_ipv6.rb +131 -0
- data/tests/test_iterator.rb +18 -0
- data/tests/test_many_fds.rb +1 -1
- data/tests/test_queue.rb +14 -0
- data/tests/test_resolver.rb +23 -0
- data/tests/test_set_sock_opt.rb +2 -0
- data/tests/test_ssl_dhparam.rb +83 -0
- data/tests/test_ssl_ecdh_curve.rb +79 -0
- data/tests/test_ssl_extensions.rb +49 -0
- data/tests/test_ssl_methods.rb +19 -0
- data/tests/test_ssl_protocols.rb +246 -0
- data/tests/test_ssl_verify.rb +44 -0
- data/tests/test_system.rb +4 -0
- data/tests/test_unbind_reason.rb +5 -1
- metadata +116 -49
- data/.gitignore +0 -21
- data/.travis.yml +0 -22
- data/.yardopts +0 -7
- data/Gemfile +0 -2
- data/Rakefile +0 -20
- data/eventmachine.gemspec +0 -38
- data/rakelib/cpp.rake_example +0 -77
data/rakelib/cpp.rake_example
DELETED
@@ -1,77 +0,0 @@
|
|
1
|
-
# EventMachine C++ Rakefile Stab Case
|
2
|
-
# TODO : track header files as a build dependency...
|
3
|
-
# TODO : cross platform support
|
4
|
-
# TODO : configure style functionality
|
5
|
-
namespace :cpp do
|
6
|
-
|
7
|
-
require 'rake/clean'
|
8
|
-
|
9
|
-
# *nix only atm...
|
10
|
-
module Cpp
|
11
|
-
class <<self
|
12
|
-
def cpp; "g++"; end
|
13
|
-
def archive; "ar"; end
|
14
|
-
def compile file, output, includes=nil, flags=nil
|
15
|
-
sh %{#{cpp} #{file} #{includes} #{flags} -c -o #{output}}
|
16
|
-
end
|
17
|
-
def link file, output, libs=nil, flags=nil
|
18
|
-
sh %{#{cpp} #{file} #{libs} #{flags} -o #{output}}
|
19
|
-
end
|
20
|
-
def static output, files
|
21
|
-
sh %{#{archive} cr #{output} #{files}}
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
module EmConfig
|
27
|
-
Path = ENV['EVENTMACHINE_SOURCE'] || 'ext'
|
28
|
-
Sources = FileList["#{Path}/*.cpp"]
|
29
|
-
Sources.delete_if { |s| /ruby/ =~ s }
|
30
|
-
Compiled = Sources.sub(%r{^#{Path}/(.*)\.cpp}, "#{Path}/\\1.o")
|
31
|
-
|
32
|
-
Flags = "-O2 -pipe -fno-common -DOS_UNIX -DWITHOUT_SSL"
|
33
|
-
Includes = ""
|
34
|
-
Libs = ''
|
35
|
-
end
|
36
|
-
CLEAN.include(EmConfig::Compiled)
|
37
|
-
|
38
|
-
rule %r{^#{EmConfig::Path}/.*\.o$} => [proc { |targ|
|
39
|
-
targ.sub(%r{^#{EmConfig::Path}/(.*)\.o$}, "#{EmConfig::Path}/\\1.cpp")
|
40
|
-
}] do |t|
|
41
|
-
Cpp.compile t.source, t.name, EmConfig::Includes, EmConfig::Flags
|
42
|
-
end
|
43
|
-
|
44
|
-
file "#{EmConfig::Path}/libeventmachine.a" => EmConfig::Compiled do |t|
|
45
|
-
Cpp.static t.name, EmConfig::Compiled
|
46
|
-
end
|
47
|
-
CLEAN.include("#{EmConfig::Path}/libeventmachine.a")
|
48
|
-
|
49
|
-
module AppConfig
|
50
|
-
Appname = 'echo_em'
|
51
|
-
Sources = FileList['*.cpp']
|
52
|
-
Compiled = Sources.sub(%r{^(.*)\.cpp}, '\\1.o')
|
53
|
-
|
54
|
-
Flags = ["", EmConfig::Flags].join(' ')
|
55
|
-
Includes = ["-I. -I#{EmConfig::Path}", EmConfig::Includes].join(' ')
|
56
|
-
Libs = ["-L#{EmConfig::Path} -leventmachine", EmConfig::Libs].join(' ')
|
57
|
-
end
|
58
|
-
CLEAN.include(AppConfig::Compiled)
|
59
|
-
CLEAN.include(AppConfig::Appname)
|
60
|
-
|
61
|
-
rule %r{^.*\.o$} => [proc { |targ|
|
62
|
-
targ.sub(%r{^(.*)\.o$}, '\\1.cpp')
|
63
|
-
}] do |t|
|
64
|
-
Cpp.compile t.source, t.name, AppConfig::Includes, AppConfig::Flags
|
65
|
-
end
|
66
|
-
|
67
|
-
file AppConfig::Appname => ["#{EmConfig::Path}/libeventmachine.a", AppConfig::Compiled] do |t|
|
68
|
-
Cpp.link AppConfig::Compiled, t.name, AppConfig::Libs, AppConfig::Flags
|
69
|
-
end
|
70
|
-
|
71
|
-
task :build => AppConfig::Appname
|
72
|
-
|
73
|
-
task :run => AppConfig::Appname do
|
74
|
-
sh "./#{AppConfig::Appname}"
|
75
|
-
end
|
76
|
-
|
77
|
-
end
|