sidekick-client 0.2.1 → 0.2.2

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 (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)