sidekick-client 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (162) hide show
  1. data/VERSION +1 -1
  2. data/lib/sidekick/client/sidekick_client.rb +0 -3
  3. data/lib/sidekick/shared/sidekick_queue_publisher.rb +1 -1
  4. data/sidekick-client.gemspec +1 -158
  5. metadata +1 -158
  6. data/lib/ext/eventmachine-0.12.10/.gitignore +0 -14
  7. data/lib/ext/eventmachine-0.12.10/README +0 -82
  8. data/lib/ext/eventmachine-0.12.10/Rakefile +0 -374
  9. data/lib/ext/eventmachine-0.12.10/docs/COPYING +0 -60
  10. data/lib/ext/eventmachine-0.12.10/docs/ChangeLog +0 -211
  11. data/lib/ext/eventmachine-0.12.10/docs/DEFERRABLES +0 -133
  12. data/lib/ext/eventmachine-0.12.10/docs/EPOLL +0 -141
  13. data/lib/ext/eventmachine-0.12.10/docs/GNU +0 -281
  14. data/lib/ext/eventmachine-0.12.10/docs/INSTALL +0 -13
  15. data/lib/ext/eventmachine-0.12.10/docs/KEYBOARD +0 -38
  16. data/lib/ext/eventmachine-0.12.10/docs/LEGAL +0 -25
  17. data/lib/ext/eventmachine-0.12.10/docs/LIGHTWEIGHT_CONCURRENCY +0 -70
  18. data/lib/ext/eventmachine-0.12.10/docs/PURE_RUBY +0 -75
  19. data/lib/ext/eventmachine-0.12.10/docs/RELEASE_NOTES +0 -94
  20. data/lib/ext/eventmachine-0.12.10/docs/SMTP +0 -2
  21. data/lib/ext/eventmachine-0.12.10/docs/SPAWNED_PROCESSES +0 -89
  22. data/lib/ext/eventmachine-0.12.10/docs/TODO +0 -8
  23. data/lib/ext/eventmachine-0.12.10/eventmachine.gemspec +0 -40
  24. data/lib/ext/eventmachine-0.12.10/examples/ex_channel.rb +0 -43
  25. data/lib/ext/eventmachine-0.12.10/examples/ex_queue.rb +0 -2
  26. data/lib/ext/eventmachine-0.12.10/examples/helper.rb +0 -2
  27. data/lib/ext/eventmachine-0.12.10/ext/binder.cpp +0 -125
  28. data/lib/ext/eventmachine-0.12.10/ext/binder.h +0 -46
  29. data/lib/ext/eventmachine-0.12.10/ext/cmain.cpp +0 -827
  30. data/lib/ext/eventmachine-0.12.10/ext/cplusplus.cpp +0 -202
  31. data/lib/ext/eventmachine-0.12.10/ext/ed.cpp +0 -1893
  32. data/lib/ext/eventmachine-0.12.10/ext/ed.h +0 -424
  33. data/lib/ext/eventmachine-0.12.10/ext/em.cpp +0 -2282
  34. data/lib/ext/eventmachine-0.12.10/ext/em.h +0 -232
  35. data/lib/ext/eventmachine-0.12.10/ext/emwin.cpp +0 -300
  36. data/lib/ext/eventmachine-0.12.10/ext/emwin.h +0 -94
  37. data/lib/ext/eventmachine-0.12.10/ext/epoll.cpp +0 -26
  38. data/lib/ext/eventmachine-0.12.10/ext/epoll.h +0 -25
  39. data/lib/ext/eventmachine-0.12.10/ext/eventmachine.h +0 -122
  40. data/lib/ext/eventmachine-0.12.10/ext/eventmachine_cpp.h +0 -96
  41. data/lib/ext/eventmachine-0.12.10/ext/extconf.rb +0 -148
  42. data/lib/ext/eventmachine-0.12.10/ext/fastfilereader/extconf.rb +0 -83
  43. data/lib/ext/eventmachine-0.12.10/ext/fastfilereader/mapper.cpp +0 -214
  44. data/lib/ext/eventmachine-0.12.10/ext/fastfilereader/mapper.h +0 -59
  45. data/lib/ext/eventmachine-0.12.10/ext/fastfilereader/rubymain.cpp +0 -127
  46. data/lib/ext/eventmachine-0.12.10/ext/files.cpp +0 -94
  47. data/lib/ext/eventmachine-0.12.10/ext/files.h +0 -65
  48. data/lib/ext/eventmachine-0.12.10/ext/kb.cpp +0 -81
  49. data/lib/ext/eventmachine-0.12.10/ext/page.cpp +0 -107
  50. data/lib/ext/eventmachine-0.12.10/ext/page.h +0 -51
  51. data/lib/ext/eventmachine-0.12.10/ext/pipe.cpp +0 -349
  52. data/lib/ext/eventmachine-0.12.10/ext/project.h +0 -151
  53. data/lib/ext/eventmachine-0.12.10/ext/rubymain.cpp +0 -1166
  54. data/lib/ext/eventmachine-0.12.10/ext/sigs.cpp +0 -89
  55. data/lib/ext/eventmachine-0.12.10/ext/sigs.h +0 -32
  56. data/lib/ext/eventmachine-0.12.10/ext/ssl.cpp +0 -460
  57. data/lib/ext/eventmachine-0.12.10/ext/ssl.h +0 -94
  58. data/lib/ext/eventmachine-0.12.10/java/.classpath +0 -8
  59. data/lib/ext/eventmachine-0.12.10/java/.project +0 -17
  60. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/EmReactor.java +0 -570
  61. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/EmReactorException.java +0 -40
  62. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/EventableChannel.java +0 -69
  63. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/EventableDatagramChannel.java +0 -189
  64. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/EventableSocketChannel.java +0 -364
  65. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/Application.java +0 -194
  66. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/Connection.java +0 -74
  67. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/ConnectionFactory.java +0 -37
  68. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/DefaultConnectionFactory.java +0 -46
  69. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/PeriodicTimer.java +0 -38
  70. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/Timer.java +0 -54
  71. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/tests/ApplicationTest.java +0 -109
  72. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/tests/ConnectTest.java +0 -148
  73. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/tests/EMTest.java +0 -80
  74. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/tests/TestDatagrams.java +0 -53
  75. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/tests/TestServers.java +0 -75
  76. data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/tests/TestTimers.java +0 -90
  77. data/lib/ext/eventmachine-0.12.10/lib/em/buftok.rb +0 -138
  78. data/lib/ext/eventmachine-0.12.10/lib/em/callback.rb +0 -26
  79. data/lib/ext/eventmachine-0.12.10/lib/em/channel.rb +0 -57
  80. data/lib/ext/eventmachine-0.12.10/lib/em/connection.rb +0 -564
  81. data/lib/ext/eventmachine-0.12.10/lib/em/deferrable.rb +0 -192
  82. data/lib/ext/eventmachine-0.12.10/lib/em/file_watch.rb +0 -54
  83. data/lib/ext/eventmachine-0.12.10/lib/em/future.rb +0 -61
  84. data/lib/ext/eventmachine-0.12.10/lib/em/messages.rb +0 -66
  85. data/lib/ext/eventmachine-0.12.10/lib/em/process_watch.rb +0 -44
  86. data/lib/ext/eventmachine-0.12.10/lib/em/processes.rb +0 -119
  87. data/lib/ext/eventmachine-0.12.10/lib/em/protocols/header_and_content.rb +0 -138
  88. data/lib/ext/eventmachine-0.12.10/lib/em/protocols/httpclient.rb +0 -263
  89. data/lib/ext/eventmachine-0.12.10/lib/em/protocols/httpclient2.rb +0 -590
  90. data/lib/ext/eventmachine-0.12.10/lib/em/protocols/line_and_text.rb +0 -125
  91. data/lib/ext/eventmachine-0.12.10/lib/em/protocols/linetext2.rb +0 -161
  92. data/lib/ext/eventmachine-0.12.10/lib/em/protocols/memcache.rb +0 -323
  93. data/lib/ext/eventmachine-0.12.10/lib/em/protocols/object_protocol.rb +0 -45
  94. data/lib/ext/eventmachine-0.12.10/lib/em/protocols/postgres3.rb +0 -247
  95. data/lib/ext/eventmachine-0.12.10/lib/em/protocols/saslauth.rb +0 -175
  96. data/lib/ext/eventmachine-0.12.10/lib/em/protocols/smtpclient.rb +0 -357
  97. data/lib/ext/eventmachine-0.12.10/lib/em/protocols/smtpserver.rb +0 -547
  98. data/lib/ext/eventmachine-0.12.10/lib/em/protocols/socks4.rb +0 -66
  99. data/lib/ext/eventmachine-0.12.10/lib/em/protocols/stomp.rb +0 -200
  100. data/lib/ext/eventmachine-0.12.10/lib/em/protocols/tcptest.rb +0 -53
  101. data/lib/ext/eventmachine-0.12.10/lib/em/protocols.rb +0 -36
  102. data/lib/ext/eventmachine-0.12.10/lib/em/queue.rb +0 -61
  103. data/lib/ext/eventmachine-0.12.10/lib/em/spawnable.rb +0 -85
  104. data/lib/ext/eventmachine-0.12.10/lib/em/streamer.rb +0 -130
  105. data/lib/ext/eventmachine-0.12.10/lib/em/timers.rb +0 -56
  106. data/lib/ext/eventmachine-0.12.10/lib/em/version.rb +0 -3
  107. data/lib/ext/eventmachine-0.12.10/lib/eventmachine.rb +0 -1592
  108. data/lib/ext/eventmachine-0.12.10/lib/evma/callback.rb +0 -32
  109. data/lib/ext/eventmachine-0.12.10/lib/evma/container.rb +0 -75
  110. data/lib/ext/eventmachine-0.12.10/lib/evma/factory.rb +0 -77
  111. data/lib/ext/eventmachine-0.12.10/lib/evma/protocol.rb +0 -87
  112. data/lib/ext/eventmachine-0.12.10/lib/evma/reactor.rb +0 -48
  113. data/lib/ext/eventmachine-0.12.10/lib/evma.rb +0 -32
  114. data/lib/ext/eventmachine-0.12.10/lib/jeventmachine.rb +0 -257
  115. data/lib/ext/eventmachine-0.12.10/lib/pr_eventmachine.rb +0 -1022
  116. data/lib/ext/eventmachine-0.12.10/setup.rb +0 -1585
  117. data/lib/ext/eventmachine-0.12.10/tasks/cpp.rake_example +0 -77
  118. data/lib/ext/eventmachine-0.12.10/tests/client.crt +0 -31
  119. data/lib/ext/eventmachine-0.12.10/tests/client.key +0 -51
  120. data/lib/ext/eventmachine-0.12.10/tests/test_attach.rb +0 -126
  121. data/lib/ext/eventmachine-0.12.10/tests/test_basic.rb +0 -284
  122. data/lib/ext/eventmachine-0.12.10/tests/test_channel.rb +0 -63
  123. data/lib/ext/eventmachine-0.12.10/tests/test_connection_count.rb +0 -35
  124. data/lib/ext/eventmachine-0.12.10/tests/test_defer.rb +0 -47
  125. data/lib/ext/eventmachine-0.12.10/tests/test_epoll.rb +0 -160
  126. data/lib/ext/eventmachine-0.12.10/tests/test_error_handler.rb +0 -35
  127. data/lib/ext/eventmachine-0.12.10/tests/test_errors.rb +0 -82
  128. data/lib/ext/eventmachine-0.12.10/tests/test_exc.rb +0 -55
  129. data/lib/ext/eventmachine-0.12.10/tests/test_file_watch.rb +0 -49
  130. data/lib/ext/eventmachine-0.12.10/tests/test_futures.rb +0 -198
  131. data/lib/ext/eventmachine-0.12.10/tests/test_get_sock_opt.rb +0 -30
  132. data/lib/ext/eventmachine-0.12.10/tests/test_handler_check.rb +0 -37
  133. data/lib/ext/eventmachine-0.12.10/tests/test_hc.rb +0 -218
  134. data/lib/ext/eventmachine-0.12.10/tests/test_httpclient.rb +0 -218
  135. data/lib/ext/eventmachine-0.12.10/tests/test_httpclient2.rb +0 -153
  136. data/lib/ext/eventmachine-0.12.10/tests/test_inactivity_timeout.rb +0 -50
  137. data/lib/ext/eventmachine-0.12.10/tests/test_kb.rb +0 -60
  138. data/lib/ext/eventmachine-0.12.10/tests/test_ltp.rb +0 -182
  139. data/lib/ext/eventmachine-0.12.10/tests/test_ltp2.rb +0 -317
  140. data/lib/ext/eventmachine-0.12.10/tests/test_next_tick.rb +0 -133
  141. data/lib/ext/eventmachine-0.12.10/tests/test_object_protocol.rb +0 -37
  142. data/lib/ext/eventmachine-0.12.10/tests/test_pause.rb +0 -70
  143. data/lib/ext/eventmachine-0.12.10/tests/test_pending_connect_timeout.rb +0 -48
  144. data/lib/ext/eventmachine-0.12.10/tests/test_process_watch.rb +0 -48
  145. data/lib/ext/eventmachine-0.12.10/tests/test_processes.rb +0 -128
  146. data/lib/ext/eventmachine-0.12.10/tests/test_proxy_connection.rb +0 -92
  147. data/lib/ext/eventmachine-0.12.10/tests/test_pure.rb +0 -125
  148. data/lib/ext/eventmachine-0.12.10/tests/test_queue.rb +0 -44
  149. data/lib/ext/eventmachine-0.12.10/tests/test_running.rb +0 -42
  150. data/lib/ext/eventmachine-0.12.10/tests/test_sasl.rb +0 -72
  151. data/lib/ext/eventmachine-0.12.10/tests/test_send_file.rb +0 -242
  152. data/lib/ext/eventmachine-0.12.10/tests/test_servers.rb +0 -76
  153. data/lib/ext/eventmachine-0.12.10/tests/test_smtpclient.rb +0 -83
  154. data/lib/ext/eventmachine-0.12.10/tests/test_smtpserver.rb +0 -85
  155. data/lib/ext/eventmachine-0.12.10/tests/test_spawn.rb +0 -322
  156. data/lib/ext/eventmachine-0.12.10/tests/test_ssl_args.rb +0 -79
  157. data/lib/ext/eventmachine-0.12.10/tests/test_ssl_methods.rb +0 -50
  158. data/lib/ext/eventmachine-0.12.10/tests/test_ssl_verify.rb +0 -82
  159. data/lib/ext/eventmachine-0.12.10/tests/test_timers.rb +0 -162
  160. data/lib/ext/eventmachine-0.12.10/tests/test_ud.rb +0 -36
  161. data/lib/ext/eventmachine-0.12.10/tests/testem.rb +0 -31
  162. data/lib/ext/eventmachine-0.12.10/web/whatis +0 -7
@@ -1,374 +0,0 @@
1
- #!/usr/bin/env rake
2
- #--
3
- # Ruby/EventMachine
4
- # http://rubyeventmachine.com
5
- # Copyright (C) 2006-07 by Francis Cianfrocca
6
- #
7
- # This program is copyrighted free software. You may use it under
8
- # the terms of either the GPL or Ruby's License. See the file
9
- # COPYING in the EventMachine distribution for full licensing
10
- # information.
11
- #
12
- # $Id$
13
- #++
14
-
15
- ### OLD RAKE: ###
16
- # # The tasks and external gemspecs we used to generate binary gems are now
17
- # # obsolete. Use Patrick Hurley's gembuilder to build binary gems for any
18
- # # desired platform.
19
- # # To build a binary gem on Win32, ensure that the include and lib paths
20
- # # both contain the proper references to OPENSSL. Use the static version
21
- # # of the libraries, not the dynamic, otherwise we expose the user to a
22
- # # runtime dependency.
23
- #
24
- # # To build a binary gem for win32, first build rubyeventmachine.so
25
- # # using VC6 outside of the build tree (the normal way: ruby extconf.rb,
26
- # # and then nmake). Then copy rubyeventmachine.so into the lib directory,
27
- # # and run rake gemwin32.
28
- #
29
-
30
- require 'rubygems' unless defined?(Gem)
31
- require 'rake' unless defined?(Rake)
32
-
33
- Package = false # Build zips and tarballs?
34
- Dir.glob('tasks/*.rake').each { |r| Rake.application.add_import r }
35
-
36
- # e.g. rake EVENTMACHINE_LIBRARY=java for forcing java build tasks as defaults!
37
- $eventmachine_library = :java if RUBY_PLATFORM =~ /java/ || ENV['EVENTMACHINE_LIBRARY'] == 'java'
38
- $eventmachine_library = :pure_ruby if ENV['EVENTMACHINE_LIBRARY'] == 'pure_ruby'
39
-
40
- MAKE = ENV['MAKE'] || if RUBY_PLATFORM =~ /mswin/ # mingw uses make.
41
- 'nmake'
42
- else
43
- 'make'
44
- end
45
-
46
- desc "Build gemspec, then build eventmachine, then run tests."
47
- task :default => [:build, :test]
48
-
49
- desc "Build extension (or EVENTMACHINE_LIBRARY) and place in lib"
50
- build_task = 'ext:build'
51
- build_task = 'java:build' if $eventmachine_library == :java
52
- build_task = :dummy_build if $eventmachine_library == :pure_ruby
53
- task :build => build_task do |t|
54
- Dir.glob('{ext,java/src,ext/fastfilereader}/*.{so,bundle,dll,jar}').each do |f|
55
- mv f, "lib"
56
- end
57
- end
58
-
59
- task :dummy_build
60
-
61
- require 'rake/testtask'
62
- Rake::TestTask.new(:test) do |t|
63
- t.pattern = 'tests/**/test_*.rb'
64
- t.warning = true
65
- end
66
-
67
- # Basic clean definition, this is enhanced by imports aswell.
68
- task :clean do
69
- chdir 'ext' do
70
- sh "#{MAKE} clean" if test ?e, 'Makefile'
71
- end
72
- chdir 'ext/fastfilereader' do
73
- sh "#{MAKE} clean" if test ?e, 'Makefile'
74
- end
75
- Dir.glob('**/Makefile').each { |file| rm file }
76
- Dir.glob('**/*.{o,so,bundle,class,jar,dll,log}').each { |file| rm file }
77
- Dir.glob('ext/**/conftest.dSYM').each{ |file| rm_rf file }
78
- end
79
-
80
- Spec = Gem::Specification.new do |s|
81
- s.name = "eventmachine"
82
- s.summary = "Ruby/EventMachine library"
83
- s.platform = Gem::Platform::RUBY
84
-
85
- s.has_rdoc = true
86
- s.rdoc_options = %w(--title EventMachine --main README --line-numbers -x lib/em/version -x lib/emva -x lib/evma/ -x lib/pr_eventmachine -x lib/jeventmachine)
87
- s.extra_rdoc_files = Dir['README,docs/*']
88
-
89
- s.files = `git ls-files`.split("\n")
90
-
91
- s.require_path = 'lib'
92
-
93
- # TODO / XXX - should we enable this? rubygems fails the install if anything
94
- # is broken. What we could do is CI submission, though, and always terminate
95
- # with a positive code...
96
- # s.test_file = "tests/testem.rb"
97
-
98
- # XXX Using rake to compile extensions breaks when you have multiple ruby installations
99
- # and your path isn't set. We can switch back to this once the Gem.exec patch is merged.
100
- # s.extensions = "Rakefile"
101
- s.extensions = ["ext/extconf.rb", "ext/fastfilereader/extconf.rb"]
102
-
103
- s.author = "Francis Cianfrocca"
104
- s.email = "garbagecat10@gmail.com"
105
- s.rubyforge_project = 'eventmachine'
106
- s.homepage = "http://rubyeventmachine.com"
107
-
108
- # Pulled in from readme, as code to pull from readme was not working!
109
- # Might be worth removing as no one seems to use gem info anyway.
110
- s.description = <<-EOD
111
- EventMachine implements a fast, single-threaded engine for arbitrary network
112
- communications. It's extremely easy to use in Ruby. EventMachine wraps all
113
- interactions with IP sockets, allowing programs to concentrate on the
114
- implementation of network protocols. It can be used to create both network
115
- servers and clients. To create a server or client, a Ruby program only needs
116
- to specify the IP address and port, and provide a Module that implements the
117
- communications protocol. Implementations of several standard network protocols
118
- are provided with the package, primarily to serve as examples. The real goal
119
- of EventMachine is to enable programs to easily interface with other programs
120
- using TCP/IP, especially if custom protocols are required.
121
- EOD
122
-
123
- require 'lib/em/version'
124
- s.version = EventMachine::VERSION
125
- end
126
-
127
- if RUBY_PLATFORM =~ /mswin/
128
- Spec.platform = 'x86-mswin32-60'
129
- Spec.files += %w[ lib/rubyeventmachine.so lib/fastfilereaderext.so ]
130
- Spec.extensions = nil
131
- elsif RUBY_PLATFORM =~ /java/
132
- Spec.platform = 'java'
133
- Spec.files += %w[ lib/em_reactor.jar ]
134
- Spec.extensions = nil
135
- end
136
-
137
- # this is a hack right now, it requires installing msysgit in the global path so it can use tar/curl/etc.
138
- namespace :win32 do
139
- task :check_git do
140
- unless `git` =~ /rebase/
141
- raise 'git not found, install msys git into the GLOBAL PATH: http://msysgit.googlecode.com/files/Git-1.6.2-preview20090308.exe'
142
- end
143
- end
144
-
145
- task :check_vc6 do
146
- begin
147
- raise unless `nmake 2>&1` =~ /Microsoft/
148
- rescue
149
- raise 'VC6 not found, please run c:\vc\setvc.bat vc6'
150
- end
151
- end
152
-
153
- task :check_perl do
154
- unless `perl --version` =~ /ActiveState/
155
- raise 'ActiveState perl required to build OpenSSL: http://downloads.activestate.com/ActivePerl/Windows/5.10/ActivePerl-5.10.0.1004-MSWin32-x86-287188.msi'
156
- end
157
- end
158
-
159
- task :build_openssl => [:check_git, :check_perl, :check_vc6] do
160
- mkdir_p 'build'
161
- chdir 'build' do
162
- unless File.exists?('openssl-0.9.8j')
163
- sh 'curl http://www.openssl.org/source/openssl-0.9.8j.tar.gz > openssl.tar.gz'
164
- sh 'tar zxvf openssl.tar.gz' rescue nil # fails because of symlinks
165
- end
166
-
167
- mkdir_p 'local'
168
- chdir 'openssl-0.9.8j' do
169
- sh "perl Configure VC-WIN32 --prefix=\"../local/\""
170
- sh 'ms\do_ms.bat'
171
- sh 'nmake -f ms\nt.mak install'
172
- end
173
-
174
- chdir '../ext' do
175
- sh 'git clean -fd .'
176
- end
177
-
178
- mv 'local/include/openssl', '../ext/'
179
- mv 'local/lib/ssleay32.lib', '../ext/'
180
- mv 'local/lib/libeay32.lib', '../ext/'
181
- end
182
- end
183
-
184
- desc "build binary win32 gem"
185
- task :gem => :build_openssl do
186
- Rake::Task['build'].invoke
187
- Rake::Task['gem'].invoke
188
- end
189
- end
190
-
191
- namespace :ext do
192
- ext_sources = FileList['ext/*.{h,cpp,rb,c}']
193
- ffr_sources = FileList['ext/fastfilereader/*.{h,cpp,rb}']
194
- file ext_extconf = 'ext/extconf.rb'
195
- file ffr_extconf = 'ext/fastfilereader/extconf.rb'
196
- ext_libname = "lib/rubyeventmachine.#{Config::CONFIG['DLEXT']}"
197
- ffr_libname = "lib/fastfilereaderext.#{Config::CONFIG['DLEXT']}"
198
-
199
- file ext_libname => ext_sources + ['ext/Makefile'] do
200
- chdir('ext') { sh MAKE }
201
- end
202
-
203
- file ffr_libname => ffr_sources + ['ext/fastfilereader/Makefile'] do
204
- chdir('ext/fastfilereader') { sh MAKE }
205
- end
206
-
207
- desc "Build C++ extension"
208
- task :build => [:make]
209
-
210
- task :make => ext_libname
211
- task :make => ffr_libname
212
-
213
- file 'ext/Makefile' => ext_extconf do
214
- chdir 'ext' do
215
- ruby 'extconf.rb'
216
- end
217
- end
218
-
219
- file 'ext/fastfilereader/Makefile' => ffr_extconf do
220
- chdir 'ext/fastfilereader' do
221
- ruby 'extconf.rb'
222
- end
223
- end
224
- end
225
-
226
- namespace :java do
227
- # This task creates the JRuby JAR file and leaves it in the lib directory.
228
- # This step is required before executing the jgem task.
229
- desc "Build java extension"
230
- task :build => [:jar] do |t|
231
- mv 'java/em_reactor.jar', 'lib/'
232
- end
233
-
234
- task :compile do
235
- chdir('java') do
236
- mkdir_p "build"
237
- sh 'javac src/com/rubyeventmachine/*.java -d build'
238
- end
239
- end
240
-
241
- task :jar => [:compile] do
242
- chdir('java/build') do
243
- sh "jar -cf ../em_reactor.jar com/rubyeventmachine/*.class"
244
- end
245
- end
246
-
247
- desc "build a java binary gem"
248
- task :gem => :build do
249
- Spec.platform = 'java'
250
- Spec.files += %w[ lib/em_reactor.jar ]
251
- Spec.extensions = nil
252
-
253
- Rake::Task['gem'].invoke
254
- end
255
- end
256
-
257
- namespace :osx do
258
- desc "Build OSX binary gem"
259
- task :gem do
260
- Spec.platform = RUBY_PLATFORM.sub(/darwin.+$/, 'darwin')
261
- Spec.files += %w[ lib/rubyeventmachine.bundle lib/fastfilereaderext.bundle ]
262
- Spec.extensions = nil
263
-
264
- Rake::Task['build'].invoke
265
- Rake::Task['gem'].invoke
266
- end
267
-
268
- # XXX gcc will still prefer the shared libssl on the system, so we need to hack the extconf
269
- # XXX to use the static library to make this actually work
270
- task :static_gem => [:build_openssl, :gem]
271
-
272
- task :build_openssl do
273
- mkdir_p 'build'
274
- chdir 'build' do
275
- unless File.exists?('openssl-0.9.8j')
276
- sh 'curl http://www.openssl.org/source/openssl-0.9.8j.tar.gz > openssl-0.9.8j.tar.gz'
277
- sh 'tar zxvf openssl-0.9.8j.tar.gz'
278
- end
279
-
280
- mkdir_p 'local'
281
- chdir 'openssl-0.9.8j' do
282
- local_dir = File.expand_path(File.join(File.dirname(__FILE__),'build','local'))
283
- sh "./config --prefix=#{local_dir}"
284
- sh 'make'
285
- sh 'make install'
286
- end
287
-
288
- chdir '../ext' do
289
- sh 'git clean -fd .'
290
- end
291
-
292
- mv 'local/include/openssl', '../ext/'
293
- mv 'local/lib/libssl.a', '../ext/'
294
- mv 'local/lib/libcrypto.a', '../ext/'
295
- end
296
- end
297
- end
298
-
299
- require 'rake/clean'
300
-
301
- rdoc_task_type = begin
302
- require 'rdoc/task'
303
- RDoc::Task
304
- rescue LoadError
305
- require 'rake/rdoctask'
306
- Rake::RDocTask
307
- end
308
- df = begin; require 'rdoc/generator/darkfish'; true; rescue LoadError; end
309
- rdtask = rdoc_task_type.new do |rd|
310
- rd.title = Spec.name
311
- rd.rdoc_dir = 'rdoc'
312
- rd.main = "README"
313
- rd.rdoc_files.include("lib/**/*.rb", *Spec.extra_rdoc_files)
314
- rd.rdoc_files.exclude(*%w(lib/em/version lib/emva lib/evma/ lib/pr_eventmachine lib/jeventmachine))
315
- rd.template = 'darkfish' if df
316
- end
317
- Rake::Task[:clean].enhance [:clobber_rdoc]
318
-
319
- desc 'Generate and open documentation'
320
- task :docs => :rdoc do
321
- case RUBY_PLATFORM
322
- when /darwin/ ; sh 'open rdoc/index.html'
323
- when /mswin|mingw/ ; sh 'start rdoc\index.html'
324
- else
325
- sh 'firefox rdoc/index.html'
326
- end
327
- end
328
-
329
- def windows?; RUBY_PLATFORM =~ /mswin|mingw/; end
330
- def sudo(cmd)
331
- if windows? || (require 'etc'; Etc.getpwuid.uid == 0)
332
- sh cmd
333
- else
334
- sh "sudo #{cmd}"
335
- end
336
- end
337
- def gem_cmd(action, name, *args)
338
- rb = Gem.ruby rescue nil
339
- rb ||= (require 'rbconfig'; File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name']))
340
- sudo "#{rb} -r rubygems -e 'require %{rubygems/gem_runner}; Gem::GemRunner.new.run(%w{#{action} #{name} #{args.join(' ')}})'"
341
- end
342
-
343
- begin
344
- require 'rubygems/package_task'
345
- Gem::PackageTask
346
- rescue LoadError
347
- require 'rake/gempackagetask'
348
- Rake::GemPackageTask
349
- end.new(Spec) do |pkg|
350
- pkg.need_tar, pkg.need_tar_gz, pkg.need_zip = true, true, true if Package
351
- pkg.gem_spec = Spec
352
- end
353
-
354
- Rake::Task[:clean].enhance [:clobber_package]
355
-
356
- namespace :gem do
357
- desc 'Install gem (and sudo if required)'
358
- task :install => :package do
359
- gem_cmd(:install, "pkg/#{Spec.name}-#{Spec.version}.gem")
360
- end
361
-
362
- desc 'Uninstall gem (and sudo if required)'
363
- task :uninstall do
364
- gem_cmd(:uninstall, "#{Spec.name}", "-v=#{Spec.version}")
365
- end
366
-
367
- desc "Generate new gemspec"
368
- task :spec => :clobber do
369
- open("eventmachine.gemspec", 'w') { |f| f.write Spec.to_ruby }
370
- end
371
- end
372
-
373
- task :clobber => :clean
374
- task :test => :build
@@ -1,60 +0,0 @@
1
- EventMachine is copyrighted free software owned by Francis Cianfrocca
2
- (blackhedd ... gmail.com). The Owner of this software permits you to
3
- redistribute and/or modify the software under either the terms of the GPL
4
- version 2 (see the file GPL), or the conditions below ("Ruby License"):
5
-
6
- 1. You may make and give away verbatim copies of the source form of this
7
- software without restriction, provided that you retain ALL of the
8
- original copyright notices and associated disclaimers.
9
-
10
- 2. You may modify your copy of the software in any way, provided that
11
- you do at least ONE of the following:
12
-
13
- a) place your modifications in the Public Domain or otherwise
14
- make them Freely Available, such as by posting said
15
- modifications to Usenet or an equivalent medium, or by allowing
16
- the author to include your modifications in the software.
17
-
18
- b) use the modified software only within your corporation or
19
- organization.
20
-
21
- c) give non-standard binaries non-standard names, with
22
- instructions on where to get the original software distribution.
23
-
24
- d) make other distribution arrangements with the Owner.
25
-
26
- 3. You may distribute the software in object code or binary form,
27
- provided that you do at least ONE of the following:
28
-
29
- a) distribute the binaries and library files of the software,
30
- together with instructions (in a manual page or equivalent)
31
- on where to get the original distribution.
32
-
33
- b) accompany the distribution with the machine-readable source of
34
- the software.
35
-
36
- c) give non-standard binaries non-standard names, with
37
- instructions on where to get the original software distribution.
38
-
39
- d) make other distribution arrangements with the Owner.
40
-
41
- 4. You may modify and include parts of the software into any other
42
- software (possibly commercial), provided you comply with the terms in
43
- Sections 1, 2, and 3 above. But some files in the distribution
44
- are not written by the Owner, so they may be made available to you
45
- under different terms.
46
-
47
- For the list of those files and their copying conditions, see the
48
- file LEGAL.
49
-
50
- 5. The scripts and library files supplied as input to or produced as
51
- output from the software do not automatically fall under the
52
- copyright of the software, but belong to whoever generated them,
53
- and may be sold commercially, and may be aggregated with this
54
- software.
55
-
56
- 6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
57
- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
58
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
59
- PURPOSE.
60
-
@@ -1,211 +0,0 @@
1
- 01Oct06: Replaced EventMachine#open_datagram_server with a version that can
2
- take a Class or a Module, instead of just a Module. Thanks to Tobias
3
- Gustafsson for pointing out the missing case.
4
- 04Oct06: Supported subsecond timer resolutions, per request by Jason Roelofs.
5
- 05Oct06: Added EventMachine#set_quantum, which sets the timer resolution.
6
- 15Nov06: Added Connection#set_comm_inactivity_timeout.
7
- 15Nov06: Checked in a Line-and-Text Protocol Handler.
8
- 18Nov06: Checked in a Header-and-Body Protocol Handler.
9
- 22Nov06: Changed EventMachine#reconnect: no longer excepts when called on an
10
- already-connected handler.
11
- 28Nov06: Supported a binary-unix gem.
12
- 19Dec06: Added EventMachine#set_effective_user.
13
- 05Jan07: Upped max outstanding timers to 1000.
14
- 15May07: Applied Solaris patches from Brett Eisenberg
15
- 22May07: Cleaned up the license text in all the source files.
16
- 22May07: Released version 0.7.2
17
-
18
- 23May07: Per suggestion from Bill Kelly, fixed a bug with the initialization
19
- of the network libraries under Windows. The goal is to enable EM to
20
- be used without Ruby.
21
- 28May07: Applied patch from Bill Kelly, refactors the declarations of
22
- event names to make EM easier to use from C programs without Ruby.
23
- 31May07: Added a preliminary implementation of EventMachine#popen.
24
- 01Jun07: Added EM, a "pseudo-alias" for EventMachine.
25
- 01Jun07: Added EM#next_tick.
26
- 01Jun07: Added EM::Connection#get_outbound_data_size
27
- 05Jun07: Removed the code which loads a pure-Ruby EM library in case the
28
- compiled extension is unavailable. Suggested by Moshe Litvin.
29
- 06Jun07: Preliminary epoll implementation.
30
- 12Jun07: Added an evented popen implementation that, like Ruby's, is
31
- full-duplex and makes the subprocess PID available to the caller.
32
- 06Jul07: Performance-tweaked the callback dispatcher in eventmachine.rb.
33
- 10Jul07: Released version 0.8.0.
34
- 12Jul07: Applied patches from Tim Pease to fix Solaris build problems.
35
- 15Jul07: Created a new provisional source branch, experiments/jruby-1.
36
- This is a preliminary implementation of the EM reactor in Java,
37
- suitable for use with JRuby.
38
- 17Jul07: Added EventMachine#stop_server, per request from Kirk Haines,
39
- and associated unit tests.
40
- 22Jul07: Added EventMachine#stream_file_data. This is a very fast and scalable
41
- way of sending data from static files over network connections. It
42
- has separate implementations for small files and large file, and
43
- has tunings to minimize memory consumption.
44
- 26Jul07: Added some patches by Kirk Haines to improve the behavior of
45
- EM::Connection#send_file_data_to_connection.
46
- 26Jul07: Added a C++ module for directly integrating EM into C++ programs
47
- with no Ruby dependencies. Needs example code.
48
- 29Jul07: Added EventMachine::Protocols::LineText2.
49
- 29Jul07: Added EventMachine::Protocols::Stomp.
50
- 30Jul07: Added sys/stat.h to project.h to fix compilation bug on Darwin.
51
- 13Aug07: Added EventMachine#reactor_running?
52
- 15Aug07: Added parameters for EventMachine::Connection:start_tls that can be
53
- used to specify client-side private keys and certificates.
54
- 17Aug07: Added EventMachine#run_block, a sugaring for a common use case.
55
- 24Aug07: Added a preliminary keyboard handler. Needs docs and testing on
56
- windows.
57
- 26Aug07: Created EventMachine::Spawnable, an implementation of Erlang-like
58
- processes.
59
- 27Aug07: Silenced some -w warnings, requested by James Edward Gray II.
60
- 30Aug07: Added cookies to EM::HttpClient#request.
61
- 04Sep07: Added an initial implementation of an evented SMTP client.
62
- 04Sep07: Added an initial implementation of an evented SMTP server.
63
- 10Sep07: Changed EM#spawn to run spawned blocks in the context of the
64
- SpawnedProcess object, not of whatever was the active object at the
65
- time of the spawn.
66
- 14Sep07: Heartbeats weren't working with EPOLL. Noticed by Brian Candler.
67
- 15Sep07: Added some features, tests and documents to Deferrable.
68
- 16Sep07: Added [:content] parameter to EM::Protocols::SmtpClient#send.
69
- 16Sep07: Bumped version to 0.9.0 in anticipation of a release.
70
- 18Sep07: Released version 0.9.0.
71
- 19Sep07: Added #receive_reset to EM::Protocols::SmtpServer.
72
- 19Sep07: User overrides of EM::Protocols::SmtpServer#receive_recipient can now
73
- return a Deferrable. Also fixed bug: SmtpClient now raises a protocol
74
- error if none of its RCPT TO: commands are accepted by the server.
75
- 26Sep07: Fixed missing keyboard support for Windows.
76
- 03Oct07: Added a default handler for RuntimeErrors emitted from user-written
77
- code. Suggested by Brian Candler.
78
- 19Oct07: Set the SO_BROADCAST option automatically on all UDP sockets.
79
- 10Nov07: Forced integer conversion of send_datagram's port parameter.
80
- Suggested by Matthieu Riou.
81
- 12Nov07: Added saslauth.rb, a protocol module to replace the Cyrus SASL
82
- daemons saslauthd and pwcheck.
83
- 15Nov07: Fixed bug reported by Mark Zvillius. We were failing to dispatch
84
- zero-length datagrams under certain conditions.
85
- 19Nov07: Added EventMachine#set_max_timers. Requested by Matthieu Riou and
86
- others.
87
- 19Nov07: Fixed bug with EM::Connection#start_tls. Was not working with server
88
- connections. Reported by Michael S. Fischer.
89
- 26Nov07: Supported a hack for EventMachine#popen so it can return an exit
90
- status from subprocesses. Requested by Michael S. Fischer.
91
- 30Nov07: Changed Pipe descriptors so that the child-side of the socketpair is
92
- NOT set nonblocking. Suggested by Duane Johnson.
93
- 05Dec07: Re-enabled the pure-Ruby implementation.
94
- 06Dec07: Released Version 0.10.0.
95
- 13Dec07: Added EM::DeferrableChildProcess
96
- 24Dec07: Added a SASL client for simple password authentication.
97
- 27Dec07: Removed the hookable error handler. No one was using it and it significantly
98
- degraded performance.
99
- 30Dec07: Implemented Kqueue support for OSX and BSD.
100
- 04Jan08: Fixed bug in epoll ("Bad file descriptor"), patch supplied by Chris
101
- Heath.
102
- 04Jan08: Fixed bug reported by Michael S. Fischer. We were terminating
103
- SSL connections that sent data before the handshake was complete.
104
- 08Jan08: Added an OpenBSD branch for extconf.rb, contributed by Guillaume
105
- Sellier.
106
- 19Jan08: Added EM::Connection::get_sockname per request by Michael Fischer.
107
- 19Jan08: Supported IPv6 addresses.
108
- 30Apr08: Set the NODELAY option on sockets that we connect to other servers.
109
- Omission noted by Roger Pack.
110
- 14May08: Generated a 0.12 release.
111
- 15May08: Supported EM#get_sockname for acceptors (TCP server sockets).
112
- Requested by Roger Pack.
113
- 15May08; Accepted a patch from Dan Aquino that allows the interval of a
114
- PeriodicTimer to be changed on the fly.
115
- 15Jun08: Supported nested calls to EM#run. Many people contributed ideas to
116
- this, notably raggi and tmm1.
117
- 20Jul08: Accepted patch from tmm1 for EM#fork_reactor.
118
- 28Jul08: Added a Postgres3 implementation, written by FCianfrocca.
119
- 14Aug08: Added a patch by Mike Murphy to support basic auth in the http
120
- client.
121
- 28Aug08: Added a patch by tmm1 to fix a longstanding problem with Java
122
- data-sends.
123
- 13Sep08: Added LineText2#set_binary_mode, a back-compatibility alias.
124
- 13Sep08: Modified the load order of protocol libraries in eventmachine.rb
125
- to permit a modification of HeaderAndContentProtocol.
126
- 13Sep08: Modified HeaderAndContent to use LineText2, which is less buggy
127
- than LineAndTextProtocol. This change may be reversed if we can fix
128
- the bugs in buftok.
129
- 13Sep08: Improved the password handling in the Postgres protocol handler.
130
- 15Sep08: Added attach/detach, contributed by Aman Gupta (tmm1) and Riham Aldakkak,
131
- to support working with file descriptors not created in the reactor.
132
- 16Sep08: Added an optional version string to the HTTP client. This is a hack
133
- that allows a client to specify a version 1.0 request, which
134
- keeps the server from sending a chunked response. The right way to
135
- solve this, of course, is to support chunked responses.
136
- 23Sep08: ChangeLog Summary for Merge of branches/raggi
137
- Most notable work and patches by Aman Gupta, Roger Pack, and James Tucker.
138
- Patches / Tickets also submitted by: Jeremy Evans, aanand, darix, mmmurf,
139
- danielaquino, macournoyer.
140
- - Moved docs into docs/ dir
141
- - Major refactor of rakefile, added generic rakefile helpers in tasks
142
- - Added example CPP build rakefile in tasks/cpp.rake
143
- - Moved rake tests out to tasks/tests.rake
144
- - Added svn ignores where appropriate
145
- - Fixed jruby build on older java platforms
146
- - Gem now builds from Rakefile rather than directly via extconf
147
- - Gem unified for jruby, C++ and pure ruby.
148
- - Correction for pure C++ build, removing ruby dependency
149
- - Fix for CYGWIN builds on ipv6
150
- - Major refactor for extconf.rb
151
- - Working mingw builds
152
- - extconf optionally uses pkg_config over manual configuration
153
- - extconf builds for 1.9 on any system that has 1.9
154
- - extconf no longer links pthread explicitly
155
- - looks for kqueue on all *nix systems
156
- - better error output on std::runtime_error, now says where it came from
157
- - Fixed some tests on jruby
158
- - Added test for general send_data flaw, required for a bugfix in jruby build
159
- - Added timeout to epoll tests
160
- - Added fixes for java reactor ruby api
161
- - Small addition of some docs in httpclient.rb and httpcli2.rb
162
- - Some refactor and fixes in smtpserver.rb
163
- - Added parenthesis where possible to avoid excess ruby warnings
164
- - Refactor of $eventmachine_library logic for accuracy and maintenance, jruby
165
- - EM::start_server now supports unix sockets
166
- - EM::connect now supports unix sockets
167
- - EM::defer @threadqueue now handled more gracefully
168
- - Added better messages on exceptions raised
169
- - Fix edge case in timer fires
170
- - Explicitly require buftok.rb
171
- - Add protocols to autoload, rather than require them all immediately
172
- - Fix a bug in pr_eventmachine for outbound_q
173
- - Refactors to take some of the use of defer out of tests.
174
- - Fixes in EM.defer under start/stop conditions. Reduced scope of threads.
175
- 23Sep08: Added patch from tmm1 to avoid popen errors on exit.
176
- 30Sep08: Added File.exists? checks in the args for start_tls, as suggested by
177
- Brian Lopez (brianmario).
178
- 10Nov08: ruby 1.9 compatibility enhancements
179
- 28Nov08: Allow for older ruby builds where RARRAY_LEN is not defined
180
- 03Dec08: allow passing arguments to popen handlers
181
- 13Jan09: SSL support for httpclient2 (David Smalley)
182
- 22Jan09: Fixed errors on OSX with the kqueue reactor, fixed errors in the pure
183
- ruby reactor. Added EM.current_time. Added EM.epoll? and EM.kqueue?
184
- 27Jan09: Reactor errors are now raised as ruby RuntimeErrors.
185
- 28Jan09: Documentation patch from alloy
186
- 29Jan09: (Late sign-off) Use a longer timeout for connect_server (Ilya
187
- Grigorik)
188
- 07Feb09: Fix signal handling issues with threads+epoll
189
- 07Feb09: Use rb_thread_schedule in the epoll reactor
190
- 07Feb09: Use TRAP_BEG/END and rb_thread_schedule in kqueue reactor
191
- 08Feb09: Added fastfilereader from swiftiply
192
- 08Feb09: 1.9 fix for rb_trap_immediate
193
- 08Feb09: Enable rb_thread_blocking_region for 1.9.0 and 1.9.1
194
- 10Feb09: Support win32 builds for fastfilereader
195
- 10Feb09: Added a new event to indicate completion of SSL handshake on TCP
196
- connections
197
- 10Feb09: Working get_peer_cert method. Returns the certificate as a Ruby
198
- String in PEM format. (Jake Douglas)
199
- 10Feb09: Added EM.get_max_timers
200
- 11Feb09: Fix compile options for sun compiler (Alasdairrr)
201
- 11Feb09: get_status returns a Process::Status object
202
- 12Feb09: Add EM::Protocols::Memcache with simple get/set functionality
203
- 19Feb09: Add catch-all EM.error_handler
204
- 20Feb09: Support miniunit (1.9)
205
- 20Feb09: Return success on content-length = 0 instead of start waiting forever
206
- (Ugo Riboni)
207
- 25Feb09: Allow next_tick to be used to pre-schedule reactor operations before
208
- EM.run
209
- 26Feb09: Added EM.get_connection_count
210
- 01Mar09: Switch back to extconf for compiling gem extensions
211
- 01Mar09: fixed a small bug with basic auth (mmmurf)