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.
- data/VERSION +1 -1
- data/lib/sidekick/client/sidekick_client.rb +0 -3
- data/lib/sidekick/shared/sidekick_queue_publisher.rb +1 -1
- data/sidekick-client.gemspec +1 -158
- metadata +1 -158
- data/lib/ext/eventmachine-0.12.10/.gitignore +0 -14
- data/lib/ext/eventmachine-0.12.10/README +0 -82
- data/lib/ext/eventmachine-0.12.10/Rakefile +0 -374
- data/lib/ext/eventmachine-0.12.10/docs/COPYING +0 -60
- data/lib/ext/eventmachine-0.12.10/docs/ChangeLog +0 -211
- data/lib/ext/eventmachine-0.12.10/docs/DEFERRABLES +0 -133
- data/lib/ext/eventmachine-0.12.10/docs/EPOLL +0 -141
- data/lib/ext/eventmachine-0.12.10/docs/GNU +0 -281
- data/lib/ext/eventmachine-0.12.10/docs/INSTALL +0 -13
- data/lib/ext/eventmachine-0.12.10/docs/KEYBOARD +0 -38
- data/lib/ext/eventmachine-0.12.10/docs/LEGAL +0 -25
- data/lib/ext/eventmachine-0.12.10/docs/LIGHTWEIGHT_CONCURRENCY +0 -70
- data/lib/ext/eventmachine-0.12.10/docs/PURE_RUBY +0 -75
- data/lib/ext/eventmachine-0.12.10/docs/RELEASE_NOTES +0 -94
- data/lib/ext/eventmachine-0.12.10/docs/SMTP +0 -2
- data/lib/ext/eventmachine-0.12.10/docs/SPAWNED_PROCESSES +0 -89
- data/lib/ext/eventmachine-0.12.10/docs/TODO +0 -8
- data/lib/ext/eventmachine-0.12.10/eventmachine.gemspec +0 -40
- data/lib/ext/eventmachine-0.12.10/examples/ex_channel.rb +0 -43
- data/lib/ext/eventmachine-0.12.10/examples/ex_queue.rb +0 -2
- data/lib/ext/eventmachine-0.12.10/examples/helper.rb +0 -2
- data/lib/ext/eventmachine-0.12.10/ext/binder.cpp +0 -125
- data/lib/ext/eventmachine-0.12.10/ext/binder.h +0 -46
- data/lib/ext/eventmachine-0.12.10/ext/cmain.cpp +0 -827
- data/lib/ext/eventmachine-0.12.10/ext/cplusplus.cpp +0 -202
- data/lib/ext/eventmachine-0.12.10/ext/ed.cpp +0 -1893
- data/lib/ext/eventmachine-0.12.10/ext/ed.h +0 -424
- data/lib/ext/eventmachine-0.12.10/ext/em.cpp +0 -2282
- data/lib/ext/eventmachine-0.12.10/ext/em.h +0 -232
- data/lib/ext/eventmachine-0.12.10/ext/emwin.cpp +0 -300
- data/lib/ext/eventmachine-0.12.10/ext/emwin.h +0 -94
- data/lib/ext/eventmachine-0.12.10/ext/epoll.cpp +0 -26
- data/lib/ext/eventmachine-0.12.10/ext/epoll.h +0 -25
- data/lib/ext/eventmachine-0.12.10/ext/eventmachine.h +0 -122
- data/lib/ext/eventmachine-0.12.10/ext/eventmachine_cpp.h +0 -96
- data/lib/ext/eventmachine-0.12.10/ext/extconf.rb +0 -148
- data/lib/ext/eventmachine-0.12.10/ext/fastfilereader/extconf.rb +0 -83
- data/lib/ext/eventmachine-0.12.10/ext/fastfilereader/mapper.cpp +0 -214
- data/lib/ext/eventmachine-0.12.10/ext/fastfilereader/mapper.h +0 -59
- data/lib/ext/eventmachine-0.12.10/ext/fastfilereader/rubymain.cpp +0 -127
- data/lib/ext/eventmachine-0.12.10/ext/files.cpp +0 -94
- data/lib/ext/eventmachine-0.12.10/ext/files.h +0 -65
- data/lib/ext/eventmachine-0.12.10/ext/kb.cpp +0 -81
- data/lib/ext/eventmachine-0.12.10/ext/page.cpp +0 -107
- data/lib/ext/eventmachine-0.12.10/ext/page.h +0 -51
- data/lib/ext/eventmachine-0.12.10/ext/pipe.cpp +0 -349
- data/lib/ext/eventmachine-0.12.10/ext/project.h +0 -151
- data/lib/ext/eventmachine-0.12.10/ext/rubymain.cpp +0 -1166
- data/lib/ext/eventmachine-0.12.10/ext/sigs.cpp +0 -89
- data/lib/ext/eventmachine-0.12.10/ext/sigs.h +0 -32
- data/lib/ext/eventmachine-0.12.10/ext/ssl.cpp +0 -460
- data/lib/ext/eventmachine-0.12.10/ext/ssl.h +0 -94
- data/lib/ext/eventmachine-0.12.10/java/.classpath +0 -8
- data/lib/ext/eventmachine-0.12.10/java/.project +0 -17
- data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/EmReactor.java +0 -570
- data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/EmReactorException.java +0 -40
- data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/EventableChannel.java +0 -69
- data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/EventableDatagramChannel.java +0 -189
- data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/EventableSocketChannel.java +0 -364
- data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/Application.java +0 -194
- data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/Connection.java +0 -74
- data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/ConnectionFactory.java +0 -37
- data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/DefaultConnectionFactory.java +0 -46
- data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/PeriodicTimer.java +0 -38
- data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/Timer.java +0 -54
- data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/tests/ApplicationTest.java +0 -109
- data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/tests/ConnectTest.java +0 -148
- data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/tests/EMTest.java +0 -80
- data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/tests/TestDatagrams.java +0 -53
- data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/tests/TestServers.java +0 -75
- data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/tests/TestTimers.java +0 -90
- data/lib/ext/eventmachine-0.12.10/lib/em/buftok.rb +0 -138
- data/lib/ext/eventmachine-0.12.10/lib/em/callback.rb +0 -26
- data/lib/ext/eventmachine-0.12.10/lib/em/channel.rb +0 -57
- data/lib/ext/eventmachine-0.12.10/lib/em/connection.rb +0 -564
- data/lib/ext/eventmachine-0.12.10/lib/em/deferrable.rb +0 -192
- data/lib/ext/eventmachine-0.12.10/lib/em/file_watch.rb +0 -54
- data/lib/ext/eventmachine-0.12.10/lib/em/future.rb +0 -61
- data/lib/ext/eventmachine-0.12.10/lib/em/messages.rb +0 -66
- data/lib/ext/eventmachine-0.12.10/lib/em/process_watch.rb +0 -44
- data/lib/ext/eventmachine-0.12.10/lib/em/processes.rb +0 -119
- data/lib/ext/eventmachine-0.12.10/lib/em/protocols/header_and_content.rb +0 -138
- data/lib/ext/eventmachine-0.12.10/lib/em/protocols/httpclient.rb +0 -263
- data/lib/ext/eventmachine-0.12.10/lib/em/protocols/httpclient2.rb +0 -590
- data/lib/ext/eventmachine-0.12.10/lib/em/protocols/line_and_text.rb +0 -125
- data/lib/ext/eventmachine-0.12.10/lib/em/protocols/linetext2.rb +0 -161
- data/lib/ext/eventmachine-0.12.10/lib/em/protocols/memcache.rb +0 -323
- data/lib/ext/eventmachine-0.12.10/lib/em/protocols/object_protocol.rb +0 -45
- data/lib/ext/eventmachine-0.12.10/lib/em/protocols/postgres3.rb +0 -247
- data/lib/ext/eventmachine-0.12.10/lib/em/protocols/saslauth.rb +0 -175
- data/lib/ext/eventmachine-0.12.10/lib/em/protocols/smtpclient.rb +0 -357
- data/lib/ext/eventmachine-0.12.10/lib/em/protocols/smtpserver.rb +0 -547
- data/lib/ext/eventmachine-0.12.10/lib/em/protocols/socks4.rb +0 -66
- data/lib/ext/eventmachine-0.12.10/lib/em/protocols/stomp.rb +0 -200
- data/lib/ext/eventmachine-0.12.10/lib/em/protocols/tcptest.rb +0 -53
- data/lib/ext/eventmachine-0.12.10/lib/em/protocols.rb +0 -36
- data/lib/ext/eventmachine-0.12.10/lib/em/queue.rb +0 -61
- data/lib/ext/eventmachine-0.12.10/lib/em/spawnable.rb +0 -85
- data/lib/ext/eventmachine-0.12.10/lib/em/streamer.rb +0 -130
- data/lib/ext/eventmachine-0.12.10/lib/em/timers.rb +0 -56
- data/lib/ext/eventmachine-0.12.10/lib/em/version.rb +0 -3
- data/lib/ext/eventmachine-0.12.10/lib/eventmachine.rb +0 -1592
- data/lib/ext/eventmachine-0.12.10/lib/evma/callback.rb +0 -32
- data/lib/ext/eventmachine-0.12.10/lib/evma/container.rb +0 -75
- data/lib/ext/eventmachine-0.12.10/lib/evma/factory.rb +0 -77
- data/lib/ext/eventmachine-0.12.10/lib/evma/protocol.rb +0 -87
- data/lib/ext/eventmachine-0.12.10/lib/evma/reactor.rb +0 -48
- data/lib/ext/eventmachine-0.12.10/lib/evma.rb +0 -32
- data/lib/ext/eventmachine-0.12.10/lib/jeventmachine.rb +0 -257
- data/lib/ext/eventmachine-0.12.10/lib/pr_eventmachine.rb +0 -1022
- data/lib/ext/eventmachine-0.12.10/setup.rb +0 -1585
- data/lib/ext/eventmachine-0.12.10/tasks/cpp.rake_example +0 -77
- data/lib/ext/eventmachine-0.12.10/tests/client.crt +0 -31
- data/lib/ext/eventmachine-0.12.10/tests/client.key +0 -51
- data/lib/ext/eventmachine-0.12.10/tests/test_attach.rb +0 -126
- data/lib/ext/eventmachine-0.12.10/tests/test_basic.rb +0 -284
- data/lib/ext/eventmachine-0.12.10/tests/test_channel.rb +0 -63
- data/lib/ext/eventmachine-0.12.10/tests/test_connection_count.rb +0 -35
- data/lib/ext/eventmachine-0.12.10/tests/test_defer.rb +0 -47
- data/lib/ext/eventmachine-0.12.10/tests/test_epoll.rb +0 -160
- data/lib/ext/eventmachine-0.12.10/tests/test_error_handler.rb +0 -35
- data/lib/ext/eventmachine-0.12.10/tests/test_errors.rb +0 -82
- data/lib/ext/eventmachine-0.12.10/tests/test_exc.rb +0 -55
- data/lib/ext/eventmachine-0.12.10/tests/test_file_watch.rb +0 -49
- data/lib/ext/eventmachine-0.12.10/tests/test_futures.rb +0 -198
- data/lib/ext/eventmachine-0.12.10/tests/test_get_sock_opt.rb +0 -30
- data/lib/ext/eventmachine-0.12.10/tests/test_handler_check.rb +0 -37
- data/lib/ext/eventmachine-0.12.10/tests/test_hc.rb +0 -218
- data/lib/ext/eventmachine-0.12.10/tests/test_httpclient.rb +0 -218
- data/lib/ext/eventmachine-0.12.10/tests/test_httpclient2.rb +0 -153
- data/lib/ext/eventmachine-0.12.10/tests/test_inactivity_timeout.rb +0 -50
- data/lib/ext/eventmachine-0.12.10/tests/test_kb.rb +0 -60
- data/lib/ext/eventmachine-0.12.10/tests/test_ltp.rb +0 -182
- data/lib/ext/eventmachine-0.12.10/tests/test_ltp2.rb +0 -317
- data/lib/ext/eventmachine-0.12.10/tests/test_next_tick.rb +0 -133
- data/lib/ext/eventmachine-0.12.10/tests/test_object_protocol.rb +0 -37
- data/lib/ext/eventmachine-0.12.10/tests/test_pause.rb +0 -70
- data/lib/ext/eventmachine-0.12.10/tests/test_pending_connect_timeout.rb +0 -48
- data/lib/ext/eventmachine-0.12.10/tests/test_process_watch.rb +0 -48
- data/lib/ext/eventmachine-0.12.10/tests/test_processes.rb +0 -128
- data/lib/ext/eventmachine-0.12.10/tests/test_proxy_connection.rb +0 -92
- data/lib/ext/eventmachine-0.12.10/tests/test_pure.rb +0 -125
- data/lib/ext/eventmachine-0.12.10/tests/test_queue.rb +0 -44
- data/lib/ext/eventmachine-0.12.10/tests/test_running.rb +0 -42
- data/lib/ext/eventmachine-0.12.10/tests/test_sasl.rb +0 -72
- data/lib/ext/eventmachine-0.12.10/tests/test_send_file.rb +0 -242
- data/lib/ext/eventmachine-0.12.10/tests/test_servers.rb +0 -76
- data/lib/ext/eventmachine-0.12.10/tests/test_smtpclient.rb +0 -83
- data/lib/ext/eventmachine-0.12.10/tests/test_smtpserver.rb +0 -85
- data/lib/ext/eventmachine-0.12.10/tests/test_spawn.rb +0 -322
- data/lib/ext/eventmachine-0.12.10/tests/test_ssl_args.rb +0 -79
- data/lib/ext/eventmachine-0.12.10/tests/test_ssl_methods.rb +0 -50
- data/lib/ext/eventmachine-0.12.10/tests/test_ssl_verify.rb +0 -82
- data/lib/ext/eventmachine-0.12.10/tests/test_timers.rb +0 -162
- data/lib/ext/eventmachine-0.12.10/tests/test_ud.rb +0 -36
- data/lib/ext/eventmachine-0.12.10/tests/testem.rb +0 -31
- 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
|
-
|