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,424 +0,0 @@
1
- /*****************************************************************************
2
-
3
- $Id$
4
-
5
- File: ed.h
6
- Date: 06Apr06
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 __EventableDescriptor__H_
21
- #define __EventableDescriptor__H_
22
-
23
-
24
- class EventMachine_t; // forward reference
25
- #ifdef WITH_SSL
26
- class SslBox_t; // forward reference
27
- #endif
28
-
29
- bool SetSocketNonblocking (SOCKET);
30
-
31
-
32
- /*************************
33
- class EventableDescriptor
34
- *************************/
35
-
36
- class EventableDescriptor: public Bindable_t
37
- {
38
- public:
39
- EventableDescriptor (int, EventMachine_t*);
40
- virtual ~EventableDescriptor();
41
-
42
- int GetSocket() {return MySocket;}
43
- void SetSocketInvalid() { MySocket = INVALID_SOCKET; }
44
- void Close();
45
-
46
- virtual void Read() = 0;
47
- virtual void Write() = 0;
48
- virtual void Heartbeat() = 0;
49
-
50
- // These methods tell us whether the descriptor
51
- // should be selected or polled for read/write.
52
- virtual bool SelectForRead() = 0;
53
- virtual bool SelectForWrite() = 0;
54
-
55
- // are we scheduled for a close, or in an error state, or already closed?
56
- bool ShouldDelete();
57
- // Do we have any data to write? This is used by ShouldDelete.
58
- virtual int GetOutboundDataSize() {return 0;}
59
- virtual bool IsWatchOnly(){ return false; }
60
-
61
- virtual void ScheduleClose (bool after_writing);
62
- bool IsCloseScheduled();
63
- virtual void HandleError(){ ScheduleClose (false); }
64
-
65
- void SetEventCallback (void (*cb)(const unsigned long, int, const char*, const unsigned long));
66
-
67
- virtual bool GetPeername (struct sockaddr*) {return false;}
68
- virtual bool GetSockname (struct sockaddr*) {return false;}
69
- virtual bool GetSubprocessPid (pid_t*) {return false;}
70
-
71
- virtual void StartTls() {}
72
- virtual void SetTlsParms (const char *privkey_filename, const char *certchain_filename, bool verify_peer) {}
73
-
74
- #ifdef WITH_SSL
75
- virtual X509 *GetPeerCert() {return NULL;}
76
- #endif
77
-
78
- virtual float GetCommInactivityTimeout() {return 0.0;}
79
- virtual int SetCommInactivityTimeout (float value) {return 0;}
80
- float GetPendingConnectTimeout();
81
- int SetPendingConnectTimeout (float value);
82
-
83
- #ifdef HAVE_EPOLL
84
- struct epoll_event *GetEpollEvent() { return &EpollEvent; }
85
- #endif
86
-
87
- virtual void StartProxy(const unsigned long, const unsigned long);
88
- virtual void StopProxy();
89
- virtual void SetProxiedFrom(EventableDescriptor*, const unsigned long);
90
- virtual int SendOutboundData(const char*,int){ return -1; }
91
- virtual bool IsPaused(){ return false; }
92
- virtual bool Pause(){ return false; }
93
- virtual bool Resume(){ return false; }
94
-
95
- private:
96
- bool bCloseNow;
97
- bool bCloseAfterWriting;
98
-
99
- protected:
100
- int MySocket;
101
-
102
- void (*EventCallback)(const unsigned long, int, const char*, const unsigned long);
103
- void _GenericInboundDispatch(const char*, int);
104
-
105
- Int64 CreatedAt;
106
- bool bCallbackUnbind;
107
- int UnbindReasonCode;
108
- EventableDescriptor *ProxyTarget;
109
- EventableDescriptor *ProxiedFrom;
110
-
111
- unsigned long MaxOutboundBufSize;
112
-
113
- #ifdef HAVE_EPOLL
114
- struct epoll_event EpollEvent;
115
- #endif
116
-
117
- EventMachine_t *MyEventMachine;
118
- int PendingConnectTimeout;
119
- };
120
-
121
-
122
-
123
- /*************************
124
- class LoopbreakDescriptor
125
- *************************/
126
-
127
- class LoopbreakDescriptor: public EventableDescriptor
128
- {
129
- public:
130
- LoopbreakDescriptor (int, EventMachine_t*);
131
- virtual ~LoopbreakDescriptor() {}
132
-
133
- virtual void Read();
134
- virtual void Write();
135
- virtual void Heartbeat() {}
136
-
137
- virtual bool SelectForRead() {return true;}
138
- virtual bool SelectForWrite() {return false;}
139
- };
140
-
141
-
142
- /**************************
143
- class ConnectionDescriptor
144
- **************************/
145
-
146
- class ConnectionDescriptor: public EventableDescriptor
147
- {
148
- public:
149
- ConnectionDescriptor (int, EventMachine_t*);
150
- virtual ~ConnectionDescriptor();
151
-
152
- static int SendDataToConnection (const unsigned long, const char*, int);
153
- static void CloseConnection (const unsigned long, bool);
154
- static int ReportErrorStatus (const unsigned long);
155
-
156
- int SendOutboundData (const char*, int);
157
-
158
- void SetConnectPending (bool f);
159
- virtual void ScheduleClose (bool after_writing);
160
- virtual void HandleError();
161
-
162
- void SetNotifyReadable (bool);
163
- void SetNotifyWritable (bool);
164
- void SetWatchOnly (bool);
165
-
166
- bool IsPaused(){ return bPaused; }
167
- bool Pause();
168
- bool Resume();
169
-
170
- bool IsNotifyReadable(){ return bNotifyReadable; }
171
- bool IsNotifyWritable(){ return bNotifyWritable; }
172
- virtual bool IsWatchOnly(){ return bWatchOnly; }
173
-
174
- virtual void Read();
175
- virtual void Write();
176
- virtual void Heartbeat();
177
-
178
- virtual bool SelectForRead();
179
- virtual bool SelectForWrite();
180
-
181
- // Do we have any data to write? This is used by ShouldDelete.
182
- virtual int GetOutboundDataSize() {return OutboundDataSize;}
183
-
184
- virtual void StartTls();
185
- virtual void SetTlsParms (const char *privkey_filename, const char *certchain_filename, bool verify_peer);
186
-
187
- #ifdef WITH_SSL
188
- virtual X509 *GetPeerCert();
189
- virtual bool VerifySslPeer(const char*);
190
- virtual void AcceptSslPeer();
191
- #endif
192
-
193
- void SetServerMode() {bIsServer = true;}
194
-
195
- virtual bool GetPeername (struct sockaddr*);
196
- virtual bool GetSockname (struct sockaddr*);
197
-
198
- virtual float GetCommInactivityTimeout();
199
- virtual int SetCommInactivityTimeout (float value);
200
-
201
-
202
- protected:
203
- struct OutboundPage {
204
- OutboundPage (const char *b, int l, int o=0): Buffer(b), Length(l), Offset(o) {}
205
- void Free() {if (Buffer) free ((char*)Buffer); }
206
- const char *Buffer;
207
- int Length;
208
- int Offset;
209
- };
210
-
211
- protected:
212
- bool bPaused;
213
- bool bConnectPending;
214
-
215
- bool bNotifyReadable;
216
- bool bNotifyWritable;
217
- bool bWatchOnly;
218
-
219
- bool bReadAttemptedAfterClose;
220
- bool bWriteAttemptedAfterClose;
221
-
222
- deque<OutboundPage> OutboundPages;
223
- int OutboundDataSize;
224
-
225
- #ifdef WITH_SSL
226
- SslBox_t *SslBox;
227
- std::string CertChainFilename;
228
- std::string PrivateKeyFilename;
229
- bool bHandshakeSignaled;
230
- bool bSslVerifyPeer;
231
- bool bSslPeerAccepted;
232
- #endif
233
-
234
- #ifdef HAVE_KQUEUE
235
- bool bGotExtraKqueueEvent;
236
- #endif
237
-
238
- bool bIsServer;
239
- Int64 LastIo;
240
- int InactivityTimeout;
241
-
242
- private:
243
- void _UpdateEvents();
244
- void _UpdateEvents(bool, bool);
245
- void _WriteOutboundData();
246
- void _DispatchInboundData (const char *buffer, int size);
247
- void _DispatchCiphertext();
248
- int _SendRawOutboundData (const char*, int);
249
- int _ReportErrorStatus();
250
- void _CheckHandshakeStatus();
251
-
252
- };
253
-
254
-
255
- /************************
256
- class DatagramDescriptor
257
- ************************/
258
-
259
- class DatagramDescriptor: public EventableDescriptor
260
- {
261
- public:
262
- DatagramDescriptor (int, EventMachine_t*);
263
- virtual ~DatagramDescriptor();
264
-
265
- virtual void Read();
266
- virtual void Write();
267
- virtual void Heartbeat();
268
-
269
- virtual bool SelectForRead() {return true;}
270
- virtual bool SelectForWrite();
271
-
272
- int SendOutboundData (const char*, int);
273
- int SendOutboundDatagram (const char*, int, const char*, int);
274
-
275
- // Do we have any data to write? This is used by ShouldDelete.
276
- virtual int GetOutboundDataSize() {return OutboundDataSize;}
277
-
278
- virtual bool GetPeername (struct sockaddr*);
279
- virtual bool GetSockname (struct sockaddr*);
280
-
281
- virtual float GetCommInactivityTimeout();
282
- virtual int SetCommInactivityTimeout (float value);
283
-
284
- static int SendDatagram (const unsigned long, const char*, int, const char*, int);
285
-
286
-
287
- protected:
288
- struct OutboundPage {
289
- OutboundPage (const char *b, int l, struct sockaddr_in f, int o=0): Buffer(b), Length(l), Offset(o), From(f) {}
290
- void Free() {if (Buffer) free ((char*)Buffer); }
291
- const char *Buffer;
292
- int Length;
293
- int Offset;
294
- struct sockaddr_in From;
295
- };
296
-
297
- deque<OutboundPage> OutboundPages;
298
- int OutboundDataSize;
299
-
300
- struct sockaddr_in ReturnAddress;
301
-
302
- Int64 LastIo;
303
- int InactivityTimeout;
304
- };
305
-
306
-
307
- /************************
308
- class AcceptorDescriptor
309
- ************************/
310
-
311
- class AcceptorDescriptor: public EventableDescriptor
312
- {
313
- public:
314
- AcceptorDescriptor (int, EventMachine_t*);
315
- virtual ~AcceptorDescriptor();
316
-
317
- virtual void Read();
318
- virtual void Write();
319
- virtual void Heartbeat();
320
-
321
- virtual bool SelectForRead() {return true;}
322
- virtual bool SelectForWrite() {return false;}
323
-
324
- virtual bool GetSockname (struct sockaddr*);
325
-
326
- static void StopAcceptor (const unsigned long binding);
327
- };
328
-
329
- /********************
330
- class PipeDescriptor
331
- ********************/
332
-
333
- #ifdef OS_UNIX
334
- class PipeDescriptor: public EventableDescriptor
335
- {
336
- public:
337
- PipeDescriptor (int, pid_t, EventMachine_t*);
338
- virtual ~PipeDescriptor();
339
-
340
- virtual void Read();
341
- virtual void Write();
342
- virtual void Heartbeat();
343
-
344
- virtual bool SelectForRead();
345
- virtual bool SelectForWrite();
346
-
347
- int SendOutboundData (const char*, int);
348
- virtual int GetOutboundDataSize() {return OutboundDataSize;}
349
-
350
- virtual bool GetSubprocessPid (pid_t*);
351
-
352
- protected:
353
- struct OutboundPage {
354
- OutboundPage (const char *b, int l, int o=0): Buffer(b), Length(l), Offset(o) {}
355
- void Free() {if (Buffer) free ((char*)Buffer); }
356
- const char *Buffer;
357
- int Length;
358
- int Offset;
359
- };
360
-
361
- protected:
362
- bool bReadAttemptedAfterClose;
363
- Int64 LastIo;
364
- int InactivityTimeout;
365
-
366
- deque<OutboundPage> OutboundPages;
367
- int OutboundDataSize;
368
-
369
- pid_t SubprocessPid;
370
-
371
- private:
372
- void _DispatchInboundData (const char *buffer, int size);
373
- };
374
- #endif // OS_UNIX
375
-
376
-
377
- /************************
378
- class KeyboardDescriptor
379
- ************************/
380
-
381
- class KeyboardDescriptor: public EventableDescriptor
382
- {
383
- public:
384
- KeyboardDescriptor (EventMachine_t*);
385
- virtual ~KeyboardDescriptor();
386
-
387
- virtual void Read();
388
- virtual void Write();
389
- virtual void Heartbeat();
390
-
391
- virtual bool SelectForRead() {return true;}
392
- virtual bool SelectForWrite() {return false;}
393
-
394
- protected:
395
- bool bReadAttemptedAfterClose;
396
- Int64 LastIo;
397
- int InactivityTimeout;
398
-
399
- private:
400
- void _DispatchInboundData (const char *buffer, int size);
401
- };
402
-
403
-
404
- /***********************
405
- class InotifyDescriptor
406
- ************************/
407
-
408
- class InotifyDescriptor: public EventableDescriptor
409
- {
410
- public:
411
- InotifyDescriptor (EventMachine_t*);
412
- virtual ~InotifyDescriptor();
413
-
414
- void Read();
415
- void Write();
416
-
417
- virtual void Heartbeat() {}
418
- virtual bool SelectForRead() {return true;}
419
- virtual bool SelectForWrite() {return false;}
420
- };
421
-
422
- #endif // __EventableDescriptor__H_
423
-
424
-