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