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,122 +0,0 @@
1
- /*****************************************************************************
2
-
3
- $Id$
4
-
5
- File: eventmachine.h
6
- Date: 15Apr06
7
-
8
- Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
9
- Gmail: blackhedd
10
-
11
- This program is free software; you can redistribute it and/or modify
12
- it under the terms of either: 1) the GNU General Public License
13
- as published by the Free Software Foundation; either version 2 of the
14
- License, or (at your option) any later version; or 2) Ruby's License.
15
-
16
- See the file COPYING for complete licensing information.
17
-
18
- *****************************************************************************/
19
-
20
- #ifndef __EVMA_EventMachine__H_
21
- #define __EVMA_EventMachine__H_
22
-
23
- #if __cplusplus
24
- extern "C" {
25
- #endif
26
-
27
- enum { // Event names
28
- EM_TIMER_FIRED = 100,
29
- EM_CONNECTION_READ = 101,
30
- EM_CONNECTION_UNBOUND = 102,
31
- EM_CONNECTION_ACCEPTED = 103,
32
- EM_CONNECTION_COMPLETED = 104,
33
- EM_LOOPBREAK_SIGNAL = 105,
34
- EM_CONNECTION_NOTIFY_READABLE = 106,
35
- EM_CONNECTION_NOTIFY_WRITABLE = 107,
36
- EM_SSL_HANDSHAKE_COMPLETED = 108,
37
- EM_SSL_VERIFY = 109,
38
- EM_PROXY_TARGET_UNBOUND = 110
39
-
40
- };
41
-
42
- void evma_initialize_library (void(*)(const unsigned long, int, const char*, const unsigned long));
43
- void evma_run_machine();
44
- void evma_release_library();
45
- const unsigned long evma_install_oneshot_timer (int seconds);
46
- const unsigned long evma_connect_to_server (const char *bind_addr, int bind_port, const char *server, int port);
47
- const unsigned long evma_connect_to_unix_server (const char *server);
48
-
49
- const unsigned long evma_attach_fd (int file_descriptor, int watch_mode);
50
- int evma_detach_fd (const unsigned long binding);
51
- int evma_get_file_descriptor (const unsigned long binding);
52
- int evma_is_notify_readable (const unsigned long binding);
53
- void evma_set_notify_readable (const unsigned long binding, int mode);
54
- int evma_is_notify_writable (const unsigned long binding);
55
- void evma_set_notify_writable (const unsigned long binding, int mode);
56
-
57
- int evma_pause(const unsigned long binding);
58
- int evma_is_paused(const unsigned long binding);
59
- int evma_resume(const unsigned long binding);
60
-
61
- void evma_stop_tcp_server (const unsigned long signature);
62
- const unsigned long evma_create_tcp_server (const char *address, int port);
63
- const unsigned long evma_create_unix_domain_server (const char *filename);
64
- const unsigned long evma_open_datagram_socket (const char *server, int port);
65
- const unsigned long evma_open_keyboard();
66
- void evma_set_tls_parms (const unsigned long binding, const char *privatekey_filename, const char *certchain_filenane, int verify_peer);
67
- void evma_start_tls (const unsigned long binding);
68
-
69
- #ifdef WITH_SSL
70
- X509 *evma_get_peer_cert (const unsigned long binding);
71
- void evma_accept_ssl_peer (const unsigned long binding);
72
- #endif
73
-
74
- int evma_get_peername (const unsigned long binding, struct sockaddr*);
75
- int evma_get_sockname (const unsigned long binding, struct sockaddr*);
76
- int evma_get_subprocess_pid (const unsigned long binding, pid_t*);
77
- int evma_get_subprocess_status (const unsigned long binding, int*);
78
- int evma_get_connection_count();
79
- int evma_send_data_to_connection (const unsigned long binding, const char *data, int data_length);
80
- int evma_send_datagram (const unsigned long binding, const char *data, int data_length, const char *address, int port);
81
- float evma_get_comm_inactivity_timeout (const unsigned long binding);
82
- int evma_set_comm_inactivity_timeout (const unsigned long binding, float value);
83
- float evma_get_pending_connect_timeout (const unsigned long binding);
84
- int evma_set_pending_connect_timeout (const unsigned long binding, float value);
85
- int evma_get_outbound_data_size (const unsigned long binding);
86
- int evma_send_file_data_to_connection (const unsigned long binding, const char *filename);
87
-
88
- void evma_close_connection (const unsigned long binding, int after_writing);
89
- int evma_report_connection_error_status (const unsigned long binding);
90
- void evma_signal_loopbreak();
91
- void evma_set_timer_quantum (int);
92
- int evma_get_max_timer_count();
93
- void evma_set_max_timer_count (int);
94
- void evma_setuid_string (const char *username);
95
- void evma_stop_machine();
96
- float evma_get_heartbeat_interval();
97
- int evma_set_heartbeat_interval(float);
98
-
99
- const unsigned long evma__write_file (const char *filename);
100
- const unsigned long evma_popen (char * const*cmd_strings);
101
-
102
- const unsigned long evma_watch_filename (const char *fname);
103
- void evma_unwatch_filename (const unsigned long);
104
-
105
- const unsigned long evma_watch_pid (int);
106
- void evma_unwatch_pid (const unsigned long);
107
-
108
- void evma_start_proxy(const unsigned long, const unsigned long, const unsigned long);
109
- void evma_stop_proxy(const unsigned long);
110
-
111
- int evma_set_rlimit_nofile (int n_files);
112
-
113
- void evma_set_epoll (int use);
114
- void evma_set_kqueue (int use);
115
-
116
- #if __cplusplus
117
- }
118
- #endif
119
-
120
-
121
- #endif // __EventMachine__H_
122
-
@@ -1,96 +0,0 @@
1
- /*****************************************************************************
2
-
3
- $Id$
4
-
5
- File: eventmachine_cpp.h
6
- Date: 27Jul07
7
-
8
- Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
9
- Gmail: blackhedd
10
-
11
- This program is free software; you can redistribute it and/or modify
12
- it under the terms of either: 1) the GNU General Public License
13
- as published by the Free Software Foundation; either version 2 of the
14
- License, or (at your option) any later version; or 2) Ruby's License.
15
-
16
- See the file COPYING for complete licensing information.
17
-
18
- *****************************************************************************/
19
-
20
-
21
- #ifndef __EVMA_EventmachineCpp__H_
22
- #define __EVMA_EventmachineCpp__H_
23
-
24
-
25
- // This material is only for directly integrating EM into C++ programs.
26
-
27
- namespace EM {
28
-
29
- void Callback (const unsigned long sig, int event, const char *data, const unsigned long length);
30
- void Run (void(*)(void));
31
- void AddTimer (int, void(*)());
32
- void StopReactor();
33
-
34
- /***************
35
- class Eventable
36
- ***************/
37
-
38
- class Eventable {
39
- public:
40
- Eventable() {}
41
- virtual ~Eventable() {}
42
-
43
- unsigned long Signature;
44
-
45
- // Called by the framework
46
- virtual void ReceiveData (const char *data, int length) {}
47
- virtual void ConnectionCompleted() {}
48
- virtual void Accept (const unsigned long) {}
49
- virtual void Unbind() {}
50
- virtual void PostInit() {}
51
- virtual void SslHandshakeCompleted() {}
52
-
53
- void StopReactor() {EM::StopReactor();}
54
- };
55
-
56
- /****************
57
- class Connection
58
- ****************/
59
-
60
- class Connection: public Eventable {
61
- public:
62
- Connection() {}
63
- virtual ~Connection() {}
64
-
65
- virtual void Connect (const char*, int);
66
- virtual void BindConnect (const char *, int, const char*, int);
67
-
68
- void SendData (const char *data);
69
- void SendData (const char *data, int length);
70
- void Close (bool afterWriting);
71
- };
72
-
73
-
74
- /**************
75
- class Acceptor
76
- **************/
77
-
78
- class Acceptor: public Eventable {
79
- public:
80
- Acceptor() {PostInit();}
81
- virtual ~Acceptor() {}
82
-
83
- void Start (const char*, int);
84
- void Accept (const unsigned long);
85
-
86
- virtual Connection *MakeConnection() {return new Connection();}
87
- };
88
-
89
-
90
- };
91
-
92
-
93
-
94
-
95
-
96
- #endif // __EVMA_EventmachineCpp__H_
@@ -1,148 +0,0 @@
1
- require 'mkmf'
2
-
3
- def check_libs libs = [], fatal = false
4
- libs.all? { |lib| have_library(lib) || (abort("could not find library: #{lib}") if fatal) }
5
- end
6
-
7
- def check_heads heads = [], fatal = false
8
- heads.all? { |head| have_header(head) || (abort("could not find header: #{head}") if fatal)}
9
- end
10
-
11
- def add_define(name)
12
- $defs.push("-D#{name}")
13
- end
14
-
15
- add_define 'BUILD_FOR_RUBY'
16
- add_define 'HAVE_RBTRAP' if have_var('rb_trap_immediate', ['ruby.h', 'rubysig.h'])
17
- add_define "HAVE_TBR" if have_func('rb_thread_blocking_region')# and have_macro('RUBY_UBF_IO', 'ruby.h')
18
- add_define "HAVE_INOTIFY" if inotify = have_func('inotify_init', 'sys/inotify.h')
19
- add_define "HAVE_OLD_INOTIFY" if !inotify && have_macro('__NR_inotify_init', 'sys/syscall.h')
20
- add_define 'HAVE_WRITEV' if have_func('writev', 'sys/uio.h')
21
- have_func('rb_thread_check_ints')
22
- have_func('rb_time_new')
23
-
24
- # Minor platform details between *nix and Windows:
25
-
26
- if RUBY_PLATFORM =~ /(mswin|mingw|bccwin)/
27
- GNU_CHAIN = $1 == 'mingw'
28
- OS_WIN32 = true
29
- add_define "OS_WIN32"
30
- else
31
- GNU_CHAIN = true
32
- OS_UNIX = true
33
- add_define 'OS_UNIX'
34
-
35
- add_define "HAVE_KQUEUE" if have_header("sys/event.h") and have_header("sys/queue.h")
36
- end
37
-
38
- # Main platform invariances:
39
-
40
- case RUBY_PLATFORM
41
- when /mswin32/, /mingw32/, /bccwin32/
42
- check_heads(%w[windows.h winsock.h], true)
43
- check_libs(%w[kernel32 rpcrt4 gdi32], true)
44
-
45
- if GNU_CHAIN
46
- CONFIG['LDSHARED'] = "$(CXX) -shared -lstdc++"
47
- else
48
- $defs.push "-EHs"
49
- $defs.push "-GR"
50
- end
51
-
52
- when /solaris/
53
- add_define 'OS_SOLARIS8'
54
- check_libs(%w[nsl socket], true)
55
-
56
- # Patch by Tim Pease, fixes SUNWspro compile problems.
57
- if CONFIG['CC'] == 'cc'
58
- # SUN CHAIN
59
- $CFLAGS = CONFIG['CFLAGS'] = "-KPIC -G"
60
- CONFIG['CCDLFLAGS'] = "-KPIC"
61
- else
62
- # GNU CHAIN
63
- # on Unix we need a g++ link, not gcc.
64
- CONFIG['LDSHARED'] = "$(CXX) -shared"
65
- end
66
-
67
- when /openbsd/
68
- # OpenBSD branch contributed by Guillaume Sellier.
69
-
70
- # on Unix we need a g++ link, not gcc. On OpenBSD, linking against libstdc++ have to be explicitly done for shared libs
71
- CONFIG['LDSHARED'] = "$(CXX) -shared -lstdc++ -fPIC"
72
- CONFIG['LDSHAREDXX'] = "$(CXX) -shared -lstdc++ -fPIC"
73
-
74
- when /darwin/
75
- # on Unix we need a g++ link, not gcc.
76
- # Ff line contributed by Daniel Harple.
77
- CONFIG['LDSHARED'] = "$(CXX) " + CONFIG['LDSHARED'].split[1..-1].join(' ')
78
-
79
- when /linux/
80
- add_define 'HAVE_EPOLL' if have_func('epoll_create', 'sys/epoll.h')
81
-
82
- # Original epoll test is inadequate because 2.4 kernels have the header
83
- # but not the code.
84
- # add_define 'HAVE_EPOLL' if have_header('sys/epoll.h')
85
- # if have_header('sys/epoll.h')
86
- # File.open("hasEpollTest.c", "w") {|f|
87
- # f.puts "#include <sys/epoll.h>"
88
- # f.puts "int main() { epoll_create(1024); return 0;}"
89
- # }
90
- # (e = system( "gcc hasEpollTest.c -o hasEpollTest " )) and (e = $?.to_i)
91
- # `rm -f hasEpollTest.c hasEpollTest`
92
- # add_define 'HAVE_EPOLL' if e == 0
93
- # end
94
-
95
- # on Unix we need a g++ link, not gcc.
96
- CONFIG['LDSHARED'] = "$(CXX) -shared"
97
-
98
- when /aix/
99
- CONFIG['LDSHARED'] = "$(CXX) -shared -Wl,-G -Wl,-brtl"
100
-
101
- else
102
- # on Unix we need a g++ link, not gcc.
103
- CONFIG['LDSHARED'] = "$(CXX) -shared"
104
- end
105
-
106
- # OpenSSL:
107
-
108
- def manual_ssl_config
109
- ssl_libs_heads_args = {
110
- :unix => [%w[ssl crypto], %w[openssl/ssl.h openssl/err.h]],
111
- :darwin => [%w[ssl crypto C], %w[openssl/ssl.h openssl/err.h]],
112
- # openbsd and linux:
113
- :crypto_hack => [%w[crypto ssl crypto], %w[openssl/ssl.h openssl/err.h]],
114
- :mswin => [%w[ssleay32 libeay32], %w[openssl/ssl.h openssl/err.h]],
115
- }
116
-
117
- dc_flags = ['ssl']
118
- dc_flags += ["#{ENV['OPENSSL']}/include", ENV['OPENSSL']] if /linux/ =~ RUBY_PLATFORM
119
-
120
- libs, heads = case RUBY_PLATFORM
121
- when /mswin/ ; ssl_libs_heads_args[:mswin]
122
- when /mingw/ ; ssl_libs_heads_args[:unix]
123
- when /darwin/ ; ssl_libs_heads_args[:darwin]
124
- when /openbsd/ ; ssl_libs_heads_args[:crypto_hack]
125
- when /linux/ ; ssl_libs_heads_args[:crypto_hack]
126
- else ssl_libs_heads_args[:unix]
127
- end
128
- dir_config(*dc_flags)
129
- check_libs(libs) and check_heads(heads)
130
- end
131
-
132
- # Try to use pkg_config first, fixes #73
133
- if pkg_config('openssl') || manual_ssl_config
134
- add_define "WITH_SSL"
135
- else
136
- add_define "WITHOUT_SSL"
137
- end
138
-
139
- # solaris c++ compiler doesn't have make_pair()
140
- TRY_LINK.sub!('$(CC)', '$(CXX)')
141
- add_define 'HAVE_MAKE_PAIR' if try_link(<<SRC, '-lstdc++')
142
- #include <utility>
143
- using namespace std;
144
- int main(){ pair<int,int> tuple = make_pair(1,2); }
145
- SRC
146
- TRY_LINK.sub!('$(CXX)', '$(CC)')
147
-
148
- create_makefile "rubyeventmachine"
@@ -1,83 +0,0 @@
1
- require 'mkmf'
2
-
3
- def check_libs libs = [], fatal = false
4
- libs.all? { |lib| have_library(lib) || (abort("could not find library: #{lib}") if fatal) }
5
- end
6
-
7
- def check_heads heads = [], fatal = false
8
- heads.all? { |head| have_header(head) || (abort("could not find header: #{head}") if fatal)}
9
- end
10
-
11
- def add_define(name)
12
- $defs.push("-D#{name}")
13
- end
14
-
15
- add_define 'BUILD_FOR_RUBY'
16
-
17
- # Minor platform details between *nix and Windows:
18
-
19
- if RUBY_PLATFORM =~ /(mswin|mingw|bccwin)/
20
- GNU_CHAIN = $1 == 'mingw'
21
- OS_WIN32 = true
22
- add_define "OS_WIN32"
23
- else
24
- GNU_CHAIN = true
25
- OS_UNIX = true
26
- add_define 'OS_UNIX'
27
- end
28
-
29
- # Main platform invariances:
30
-
31
- case RUBY_PLATFORM
32
- when /mswin32/, /mingw32/, /bccwin32/
33
- check_heads(%w[windows.h winsock.h], true)
34
- check_libs(%w[kernel32 rpcrt4 gdi32], true)
35
-
36
- if GNU_CHAIN
37
- CONFIG['LDSHARED'] = "$(CXX) -shared -lstdc++"
38
- else
39
- $defs.push "-EHs"
40
- $defs.push "-GR"
41
- end
42
-
43
- when /solaris/
44
- add_define 'OS_SOLARIS8'
45
- check_libs(%w[nsl socket], true)
46
-
47
- # Patch by Tim Pease, fixes SUNWspro compile problems.
48
- if CONFIG['CC'] == 'cc'
49
- # SUN CHAIN
50
- $CFLAGS = CONFIG['CFLAGS'] = "-KPIC -G"
51
- CONFIG['CCDLFLAGS'] = "-KPIC"
52
- else
53
- # GNU CHAIN
54
- # on Unix we need a g++ link, not gcc.
55
- CONFIG['LDSHARED'] = "$(CXX) -shared"
56
- end
57
-
58
- when /openbsd/
59
- # OpenBSD branch contributed by Guillaume Sellier.
60
-
61
- # on Unix we need a g++ link, not gcc. On OpenBSD, linking against libstdc++ have to be explicitly done for shared libs
62
- CONFIG['LDSHARED'] = "$(CXX) -shared -lstdc++ -fPIC"
63
- CONFIG['LDSHAREDXX'] = "$(CXX) -shared -lstdc++ -fPIC"
64
-
65
- when /darwin/
66
- # on Unix we need a g++ link, not gcc.
67
- # Ff line contributed by Daniel Harple.
68
- CONFIG['LDSHARED'] = "$(CXX) " + CONFIG['LDSHARED'].split[1..-1].join(' ')
69
-
70
- when /linux/
71
- # on Unix we need a g++ link, not gcc.
72
- CONFIG['LDSHARED'] = "$(CXX) -shared"
73
-
74
- when /aix/
75
- # on Unix we need a g++ link, not gcc.
76
- CONFIG['LDSHARED'] = "$(CXX) -shared -Wl,-G"
77
-
78
- else
79
- # on Unix we need a g++ link, not gcc.
80
- CONFIG['LDSHARED'] = "$(CXX) -shared"
81
- end
82
-
83
- create_makefile "fastfilereaderext"
@@ -1,214 +0,0 @@
1
- /*****************************************************************************
2
-
3
- $Id: mapper.cpp 4527 2007-07-04 10:21:34Z francis $
4
-
5
- File: mapper.cpp
6
- Date: 02Jul07
7
-
8
- Copyright (C) 2007 by Francis Cianfrocca. All Rights Reserved.
9
- Gmail: garbagecat10
10
-
11
- This program is free software; you can redistribute it and/or modify
12
- it under the terms of either: 1) the GNU General Public License
13
- as published by the Free Software Foundation; either version 2 of the
14
- License, or (at your option) any later version; or 2) Ruby's License.
15
-
16
- See the file COPYING for complete licensing information.
17
-
18
- *****************************************************************************/
19
-
20
-
21
- //////////////////////////////////////////////////////////////////////
22
- // UNIX implementation
23
- //////////////////////////////////////////////////////////////////////
24
-
25
-
26
- #ifdef OS_UNIX
27
-
28
- #include <sys/types.h>
29
- #include <sys/stat.h>
30
- #include <sys/mman.h>
31
- #include <fcntl.h>
32
- #include <errno.h>
33
-
34
- #include <iostream>
35
- #include "unistd.h"
36
- #include <string>
37
- #include <cstring>
38
- #include <stdexcept>
39
- using namespace std;
40
-
41
- #include "mapper.h"
42
-
43
- /******************
44
- Mapper_t::Mapper_t
45
- ******************/
46
-
47
- Mapper_t::Mapper_t (const string &filename)
48
- {
49
- /* We ASSUME we can open the file.
50
- * (More precisely, we assume someone else checked before we got here.)
51
- */
52
-
53
- Fd = open (filename.c_str(), O_RDONLY);
54
- if (Fd < 0)
55
- throw runtime_error (strerror (errno));
56
-
57
- struct stat st;
58
- if (fstat (Fd, &st))
59
- throw runtime_error (strerror (errno));
60
- FileSize = st.st_size;
61
-
62
- #ifdef OS_WIN32
63
- MapPoint = (char*) mmap (0, FileSize, PROT_READ, MAP_SHARED, Fd, 0);
64
- #else
65
- MapPoint = (const char*) mmap (0, FileSize, PROT_READ, MAP_SHARED, Fd, 0);
66
- #endif
67
- if (MapPoint == MAP_FAILED)
68
- throw runtime_error (strerror (errno));
69
- }
70
-
71
-
72
- /*******************
73
- Mapper_t::~Mapper_t
74
- *******************/
75
-
76
- Mapper_t::~Mapper_t()
77
- {
78
- Close();
79
- }
80
-
81
-
82
- /***************
83
- Mapper_t::Close
84
- ***************/
85
-
86
- void Mapper_t::Close()
87
- {
88
- // Can be called multiple times.
89
- // Calls to GetChunk are invalid after a call to Close.
90
- if (MapPoint) {
91
- #ifdef OS_SOLARIS8
92
- munmap ((char*)MapPoint, FileSize);
93
- #else
94
- munmap ((void*)MapPoint, FileSize);
95
- #endif
96
- MapPoint = NULL;
97
- }
98
- if (Fd >= 0) {
99
- close (Fd);
100
- Fd = -1;
101
- }
102
- }
103
-
104
- /******************
105
- Mapper_t::GetChunk
106
- ******************/
107
-
108
- const char *Mapper_t::GetChunk (unsigned start)
109
- {
110
- return MapPoint + start;
111
- }
112
-
113
-
114
-
115
- #endif // OS_UNIX
116
-
117
-
118
- //////////////////////////////////////////////////////////////////////
119
- // WINDOWS implementation
120
- //////////////////////////////////////////////////////////////////////
121
-
122
- #ifdef OS_WIN32
123
-
124
- #include <windows.h>
125
-
126
- #include <iostream>
127
- #include <string>
128
- #include <stdexcept>
129
- using namespace std;
130
-
131
- #include "mapper.h"
132
-
133
- /******************
134
- Mapper_t::Mapper_t
135
- ******************/
136
-
137
- Mapper_t::Mapper_t (const string &filename)
138
- {
139
- /* We ASSUME we can open the file.
140
- * (More precisely, we assume someone else checked before we got here.)
141
- */
142
-
143
- hFile = INVALID_HANDLE_VALUE;
144
- hMapping = NULL;
145
- MapPoint = NULL;
146
- FileSize = 0;
147
-
148
- hFile = CreateFile (filename.c_str(), GENERIC_READ|GENERIC_WRITE, FILE_SHARE_DELETE|FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
149
-
150
- if (hFile == INVALID_HANDLE_VALUE)
151
- throw runtime_error ("File not found");
152
-
153
- BY_HANDLE_FILE_INFORMATION i;
154
- if (GetFileInformationByHandle (hFile, &i))
155
- FileSize = i.nFileSizeLow;
156
-
157
- hMapping = CreateFileMapping (hFile, NULL, PAGE_READWRITE, 0, 0, NULL);
158
- if (!hMapping)
159
- throw runtime_error ("File not mapped");
160
-
161
- #ifdef OS_WIN32
162
- MapPoint = (char*) MapViewOfFile (hMapping, FILE_MAP_WRITE, 0, 0, 0);
163
- #else
164
- MapPoint = (const char*) MapViewOfFile (hMapping, FILE_MAP_WRITE, 0, 0, 0);
165
- #endif
166
- if (!MapPoint)
167
- throw runtime_error ("Mappoint not read");
168
- }
169
-
170
-
171
- /*******************
172
- Mapper_t::~Mapper_t
173
- *******************/
174
-
175
- Mapper_t::~Mapper_t()
176
- {
177
- Close();
178
- }
179
-
180
- /***************
181
- Mapper_t::Close
182
- ***************/
183
-
184
- void Mapper_t::Close()
185
- {
186
- // Can be called multiple times.
187
- // Calls to GetChunk are invalid after a call to Close.
188
- if (MapPoint) {
189
- UnmapViewOfFile (MapPoint);
190
- MapPoint = NULL;
191
- }
192
- if (hMapping != NULL) {
193
- CloseHandle (hMapping);
194
- hMapping = NULL;
195
- }
196
- if (hFile != INVALID_HANDLE_VALUE) {
197
- CloseHandle (hFile);
198
- hMapping = INVALID_HANDLE_VALUE;
199
- }
200
- }
201
-
202
-
203
- /******************
204
- Mapper_t::GetChunk
205
- ******************/
206
-
207
- const char *Mapper_t::GetChunk (unsigned start)
208
- {
209
- return MapPoint + start;
210
- }
211
-
212
-
213
-
214
- #endif // OS_WINDOWS