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,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