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
data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/Application.java
DELETED
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* $Id$
|
|
3
|
-
*
|
|
4
|
-
* Author:: Francis Cianfrocca (gmail: blackhedd)
|
|
5
|
-
* Homepage:: http://rubyeventmachine.com
|
|
6
|
-
* Date:: 15 Jul 2007
|
|
7
|
-
*
|
|
8
|
-
* See EventMachine and EventMachine::Connection for documentation and
|
|
9
|
-
* usage examples.
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*----------------------------------------------------------------------------
|
|
13
|
-
*
|
|
14
|
-
* Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
|
|
15
|
-
* Gmail: blackhedd
|
|
16
|
-
*
|
|
17
|
-
* This program is free software; you can redistribute it and/or modify
|
|
18
|
-
* it under the terms of either: 1) the GNU General Public License
|
|
19
|
-
* as published by the Free Software Foundation; either version 2 of the
|
|
20
|
-
* License, or (at your option) any later version; or 2) Ruby's License.
|
|
21
|
-
*
|
|
22
|
-
* See the file COPYING for complete licensing information.
|
|
23
|
-
*
|
|
24
|
-
*---------------------------------------------------------------------------
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*/
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
*
|
|
31
|
-
*/
|
|
32
|
-
package com.rubyeventmachine.application;
|
|
33
|
-
|
|
34
|
-
import java.nio.ByteBuffer;
|
|
35
|
-
import java.nio.channels.*;
|
|
36
|
-
import java.util.*;
|
|
37
|
-
import java.io.*;
|
|
38
|
-
import java.net.*;
|
|
39
|
-
import java.net.SocketAddress;
|
|
40
|
-
|
|
41
|
-
import com.rubyeventmachine.*;
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* @author francis
|
|
45
|
-
*
|
|
46
|
-
*/
|
|
47
|
-
public class Application {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
public class Reactor extends EmReactor {
|
|
51
|
-
|
|
52
|
-
private Application application;
|
|
53
|
-
private TreeMap<Long, Timer> timers;
|
|
54
|
-
private TreeMap<Long, Connection> connections;
|
|
55
|
-
private TreeMap<Long, ConnectionFactory> acceptors;
|
|
56
|
-
/**
|
|
57
|
-
*
|
|
58
|
-
*/
|
|
59
|
-
public Reactor (Application app) {
|
|
60
|
-
application = app;
|
|
61
|
-
timers = new TreeMap<Long, Timer>();
|
|
62
|
-
connections = new TreeMap<Long, Connection>();
|
|
63
|
-
acceptors = new TreeMap<Long, ConnectionFactory>();
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
public void eventCallback (long sig, int eventType, ByteBuffer data, long data2) {
|
|
68
|
-
if (eventType == EM_TIMER_FIRED) {
|
|
69
|
-
Timer r = timers.remove(data2);
|
|
70
|
-
if (r != null)
|
|
71
|
-
r._fire();
|
|
72
|
-
else
|
|
73
|
-
throw new RuntimeException ("unable to run unknown timer");
|
|
74
|
-
}
|
|
75
|
-
else if (eventType == EM_CONNECTION_COMPLETED) {
|
|
76
|
-
Connection c = connections.get(sig);
|
|
77
|
-
if (c != null) {
|
|
78
|
-
c.connectionCompleted();
|
|
79
|
-
}
|
|
80
|
-
else
|
|
81
|
-
throw new RuntimeException ("connection completed to unknown object");
|
|
82
|
-
|
|
83
|
-
}
|
|
84
|
-
else if (eventType == EM_CONNECTION_UNBOUND) {
|
|
85
|
-
Connection c = connections.get(sig);
|
|
86
|
-
if (c != null) {
|
|
87
|
-
c.unbind();
|
|
88
|
-
}
|
|
89
|
-
else
|
|
90
|
-
throw new RuntimeException ("unbind received on unknown object");
|
|
91
|
-
}
|
|
92
|
-
else if (eventType == EM_CONNECTION_ACCEPTED) {
|
|
93
|
-
ConnectionFactory f = acceptors.get(sig);
|
|
94
|
-
if (f != null) {
|
|
95
|
-
Connection c = f.connection();
|
|
96
|
-
c.signature = data2;
|
|
97
|
-
c.application = application;
|
|
98
|
-
connections.put(c.signature, c);
|
|
99
|
-
c.postInit();
|
|
100
|
-
//System.out.println (sig+"..."+new String(data.array()));
|
|
101
|
-
}
|
|
102
|
-
else
|
|
103
|
-
throw new RuntimeException ("received connection on unknown acceptor");
|
|
104
|
-
}
|
|
105
|
-
else if (eventType == EM_CONNECTION_READ) {
|
|
106
|
-
Connection c = connections.get(sig);
|
|
107
|
-
if (c != null) {
|
|
108
|
-
c.receiveData(data);
|
|
109
|
-
}
|
|
110
|
-
else throw new RuntimeException ("received data on unknown object");
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
System.out.println ("unknown event type: " + eventType);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
Reactor reactor;
|
|
120
|
-
|
|
121
|
-
public Application() {
|
|
122
|
-
reactor = new Reactor (this);
|
|
123
|
-
}
|
|
124
|
-
public void addTimer (double seconds, Timer t) {
|
|
125
|
-
t.application = this;
|
|
126
|
-
t.interval = seconds;
|
|
127
|
-
long s = reactor.installOneshotTimer ((int)(seconds * 1000));
|
|
128
|
-
reactor.timers.put(s, t);
|
|
129
|
-
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
public void bindConnect (String bindAddr, int bindPort, String host, int port, Connection c) {
|
|
133
|
-
long s = reactor.connectTcpServer(bindAddr, bindPort, host, port);
|
|
134
|
-
c.application = this;
|
|
135
|
-
c.signature = s;
|
|
136
|
-
reactor.connections.put(s, c);
|
|
137
|
-
c.postInit();
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
public void connect (String host, int port, Connection c) {
|
|
141
|
-
bindConnect(null, 0, host, port, c);
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
public void startServer (SocketAddress sa, ConnectionFactory f) throws EmReactorException {
|
|
145
|
-
long s = reactor.startTcpServer(sa);
|
|
146
|
-
reactor.acceptors.put(s, f);
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
public void stop() {
|
|
150
|
-
reactor.stop();
|
|
151
|
-
}
|
|
152
|
-
public void run() {
|
|
153
|
-
reactor.run();
|
|
154
|
-
}
|
|
155
|
-
public void run (final Runnable r) {
|
|
156
|
-
addTimer(0, new Timer() {
|
|
157
|
-
public void fire() {
|
|
158
|
-
r.run();
|
|
159
|
-
}
|
|
160
|
-
});
|
|
161
|
-
run();
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
public void sendData (long sig, ByteBuffer bb) {
|
|
165
|
-
try {
|
|
166
|
-
reactor.sendData(sig, bb);
|
|
167
|
-
} catch (IOException e) {}
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
public void sendDatagram (long sig, ByteBuffer bb, InetSocketAddress target) {
|
|
171
|
-
reactor.sendDatagram(sig, bb, target.getHostName(), target.getPort());
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
public void closeConnection (long sig, boolean afterWriting) {
|
|
175
|
-
reactor.closeConnection(sig, afterWriting);
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
public void openDatagramSocket (Connection c) {
|
|
179
|
-
openDatagramSocket (new InetSocketAddress ("0.0.0.0", 0), c);
|
|
180
|
-
}
|
|
181
|
-
public void openDatagramSocket (InetSocketAddress addr, Connection c) {
|
|
182
|
-
try {
|
|
183
|
-
long s = reactor.openUdpSocket(addr);
|
|
184
|
-
c.application = this;
|
|
185
|
-
c.signature = s;
|
|
186
|
-
reactor.connections.put(s, c);
|
|
187
|
-
c.postInit();
|
|
188
|
-
} catch (ClosedChannelException e) {
|
|
189
|
-
} catch (IOException e) {
|
|
190
|
-
System.out.println ("Bad Datagram socket "+e+" "+addr);
|
|
191
|
-
/* TODO, can't catch this here, because it can happen on a bad address */
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* $Id$
|
|
3
|
-
*
|
|
4
|
-
* Author:: Francis Cianfrocca (gmail: blackhedd)
|
|
5
|
-
* Homepage:: http://rubyeventmachine.com
|
|
6
|
-
* Date:: 15 Jul 2007
|
|
7
|
-
*
|
|
8
|
-
* See EventMachine and EventMachine::Connection for documentation and
|
|
9
|
-
* usage examples.
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*----------------------------------------------------------------------------
|
|
13
|
-
*
|
|
14
|
-
* Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
|
|
15
|
-
* Gmail: blackhedd
|
|
16
|
-
*
|
|
17
|
-
* This program is free software; you can redistribute it and/or modify
|
|
18
|
-
* it under the terms of either: 1) the GNU General Public License
|
|
19
|
-
* as published by the Free Software Foundation; either version 2 of the
|
|
20
|
-
* License, or (at your option) any later version; or 2) Ruby's License.
|
|
21
|
-
*
|
|
22
|
-
* See the file COPYING for complete licensing information.
|
|
23
|
-
*
|
|
24
|
-
*---------------------------------------------------------------------------
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*/
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
package com.rubyeventmachine.application;
|
|
32
|
-
|
|
33
|
-
//import java.io.*;
|
|
34
|
-
import java.nio.*;
|
|
35
|
-
import java.net.*;
|
|
36
|
-
//import java.nio.channels.*;
|
|
37
|
-
|
|
38
|
-
public class Connection {
|
|
39
|
-
|
|
40
|
-
public Application application;
|
|
41
|
-
public long signature;
|
|
42
|
-
|
|
43
|
-
public void postInit() {}
|
|
44
|
-
public void connectionCompleted() {}
|
|
45
|
-
public void unbind() {}
|
|
46
|
-
public void receiveData (ByteBuffer bytebuffer) {}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Called by user code.
|
|
51
|
-
* @param bytebuffer
|
|
52
|
-
*/
|
|
53
|
-
public void sendData (ByteBuffer b) {
|
|
54
|
-
application.sendData(signature, b);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* This is called by user code.
|
|
59
|
-
* TODO: don't expose the exception here.
|
|
60
|
-
*/
|
|
61
|
-
public void close() {
|
|
62
|
-
application.closeConnection(signature, false);
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* This is called by user code/
|
|
66
|
-
*/
|
|
67
|
-
public void closeAfterWriting() {
|
|
68
|
-
application.closeConnection(signature, true);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
public void sendDatagram (ByteBuffer bb, InetSocketAddress addr) {
|
|
72
|
-
application.sendDatagram (signature, bb, addr);
|
|
73
|
-
}
|
|
74
|
-
}
|
data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/ConnectionFactory.java
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* $Id$
|
|
3
|
-
*
|
|
4
|
-
* Author:: Francis Cianfrocca (gmail: blackhedd)
|
|
5
|
-
* Homepage:: http://rubyeventmachine.com
|
|
6
|
-
* Date:: 15 Jul 2007
|
|
7
|
-
*
|
|
8
|
-
* See EventMachine and EventMachine::Connection for documentation and
|
|
9
|
-
* usage examples.
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*----------------------------------------------------------------------------
|
|
13
|
-
*
|
|
14
|
-
* Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
|
|
15
|
-
* Gmail: blackhedd
|
|
16
|
-
*
|
|
17
|
-
* This program is free software; you can redistribute it and/or modify
|
|
18
|
-
* it under the terms of either: 1) the GNU General Public License
|
|
19
|
-
* as published by the Free Software Foundation; either version 2 of the
|
|
20
|
-
* License, or (at your option) any later version; or 2) Ruby's License.
|
|
21
|
-
*
|
|
22
|
-
* See the file COPYING for complete licensing information.
|
|
23
|
-
*
|
|
24
|
-
*---------------------------------------------------------------------------
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*/
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
package com.rubyeventmachine.application;
|
|
32
|
-
|
|
33
|
-
//import com.rubyeventmachine.*;
|
|
34
|
-
|
|
35
|
-
public interface ConnectionFactory {
|
|
36
|
-
public Connection connection();
|
|
37
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* $Id$
|
|
3
|
-
*
|
|
4
|
-
* Author:: Francis Cianfrocca (gmail: blackhedd)
|
|
5
|
-
* Homepage:: http://rubyeventmachine.com
|
|
6
|
-
* Date:: 15 Jul 2007
|
|
7
|
-
*
|
|
8
|
-
* See EventMachine and EventMachine::Connection for documentation and
|
|
9
|
-
* usage examples.
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*----------------------------------------------------------------------------
|
|
13
|
-
*
|
|
14
|
-
* Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
|
|
15
|
-
* Gmail: blackhedd
|
|
16
|
-
*
|
|
17
|
-
* This program is free software; you can redistribute it and/or modify
|
|
18
|
-
* it under the terms of either: 1) the GNU General Public License
|
|
19
|
-
* as published by the Free Software Foundation; either version 2 of the
|
|
20
|
-
* License, or (at your option) any later version; or 2) Ruby's License.
|
|
21
|
-
*
|
|
22
|
-
* See the file COPYING for complete licensing information.
|
|
23
|
-
*
|
|
24
|
-
*---------------------------------------------------------------------------
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*/
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
package com.rubyeventmachine.application;
|
|
32
|
-
|
|
33
|
-
import com.rubyeventmachine.application.ConnectionFactory;
|
|
34
|
-
|
|
35
|
-
public class DefaultConnectionFactory implements ConnectionFactory {
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Convenience class. Its connection() method returns an instance of class
|
|
39
|
-
* Connection, which is usually overridden. This class is probably most
|
|
40
|
-
* useful for unit testing.
|
|
41
|
-
*/
|
|
42
|
-
public Connection connection() {
|
|
43
|
-
return new Connection();
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
}
|
data/lib/ext/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/PeriodicTimer.java
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* $Id$
|
|
3
|
-
*
|
|
4
|
-
* Author:: Francis Cianfrocca (gmail: blackhedd)
|
|
5
|
-
* Homepage:: http://rubyeventmachine.com
|
|
6
|
-
* Date:: 15 Jul 2007
|
|
7
|
-
*
|
|
8
|
-
* See EventMachine and EventMachine::Connection for documentation and
|
|
9
|
-
* usage examples.
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*----------------------------------------------------------------------------
|
|
13
|
-
*
|
|
14
|
-
* Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
|
|
15
|
-
* Gmail: blackhedd
|
|
16
|
-
*
|
|
17
|
-
* This program is free software; you can redistribute it and/or modify
|
|
18
|
-
* it under the terms of either: 1) the GNU General Public License
|
|
19
|
-
* as published by the Free Software Foundation; either version 2 of the
|
|
20
|
-
* License, or (at your option) any later version; or 2) Ruby's License.
|
|
21
|
-
*
|
|
22
|
-
* See the file COPYING for complete licensing information.
|
|
23
|
-
*
|
|
24
|
-
*---------------------------------------------------------------------------
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*/
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
package com.rubyeventmachine.application;
|
|
31
|
-
|
|
32
|
-
public class PeriodicTimer extends Timer {
|
|
33
|
-
|
|
34
|
-
public void _fire() {
|
|
35
|
-
fire();
|
|
36
|
-
application.addTimer(interval, this);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* $Id$
|
|
3
|
-
*
|
|
4
|
-
* Author:: Francis Cianfrocca (gmail: blackhedd)
|
|
5
|
-
* Homepage:: http://rubyeventmachine.com
|
|
6
|
-
* Date:: 15 Jul 2007
|
|
7
|
-
*
|
|
8
|
-
* See EventMachine and EventMachine::Connection for documentation and
|
|
9
|
-
* usage examples.
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*----------------------------------------------------------------------------
|
|
13
|
-
*
|
|
14
|
-
* Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
|
|
15
|
-
* Gmail: blackhedd
|
|
16
|
-
*
|
|
17
|
-
* This program is free software; you can redistribute it and/or modify
|
|
18
|
-
* it under the terms of either: 1) the GNU General Public License
|
|
19
|
-
* as published by the Free Software Foundation; either version 2 of the
|
|
20
|
-
* License, or (at your option) any later version; or 2) Ruby's License.
|
|
21
|
-
*
|
|
22
|
-
* See the file COPYING for complete licensing information.
|
|
23
|
-
*
|
|
24
|
-
*---------------------------------------------------------------------------
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*/
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
package com.rubyeventmachine.application;
|
|
31
|
-
|
|
32
|
-
public class Timer {
|
|
33
|
-
/**
|
|
34
|
-
* User code is expected to call a method on a controlling Application,
|
|
35
|
-
* which will fill in this field so subsequent user code can access it.
|
|
36
|
-
*/
|
|
37
|
-
public Application application;
|
|
38
|
-
public double interval;
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* The reactor calls here, and it may be overridden in subclasses.
|
|
42
|
-
* User code should never call this method.
|
|
43
|
-
*/
|
|
44
|
-
public void _fire() {
|
|
45
|
-
fire();
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* User code is expected to override this method.
|
|
50
|
-
*/
|
|
51
|
-
public void fire() {
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* $Id$
|
|
3
|
-
*
|
|
4
|
-
* Author:: Francis Cianfrocca (gmail: blackhedd)
|
|
5
|
-
* Homepage:: http://rubyeventmachine.com
|
|
6
|
-
* Date:: 15 Jul 2007
|
|
7
|
-
*
|
|
8
|
-
* See EventMachine and EventMachine::Connection for documentation and
|
|
9
|
-
* usage examples.
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*----------------------------------------------------------------------------
|
|
13
|
-
*
|
|
14
|
-
* Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
|
|
15
|
-
* Gmail: blackhedd
|
|
16
|
-
*
|
|
17
|
-
* This program is free software; you can redistribute it and/or modify
|
|
18
|
-
* it under the terms of either: 1) the GNU General Public License
|
|
19
|
-
* as published by the Free Software Foundation; either version 2 of the
|
|
20
|
-
* License, or (at your option) any later version; or 2) Ruby's License.
|
|
21
|
-
*
|
|
22
|
-
* See the file COPYING for complete licensing information.
|
|
23
|
-
*
|
|
24
|
-
*---------------------------------------------------------------------------
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*/
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
package com.rubyeventmachine.tests;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
import org.junit.After;
|
|
35
|
-
import org.junit.AfterClass;
|
|
36
|
-
import org.junit.Before;
|
|
37
|
-
import org.junit.BeforeClass;
|
|
38
|
-
import org.junit.Test;
|
|
39
|
-
import org.junit.Assert;
|
|
40
|
-
import java.net.*;
|
|
41
|
-
import java.io.*;
|
|
42
|
-
import java.nio.*;
|
|
43
|
-
|
|
44
|
-
import com.rubyeventmachine.*;
|
|
45
|
-
import com.rubyeventmachine.application.*;
|
|
46
|
-
|
|
47
|
-
public class ApplicationTest {
|
|
48
|
-
|
|
49
|
-
@BeforeClass
|
|
50
|
-
public static void setUpBeforeClass() throws Exception {
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
@AfterClass
|
|
54
|
-
public static void tearDownAfterClass() throws Exception {
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
@Before
|
|
58
|
-
public void setUp() throws Exception {
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
@After
|
|
62
|
-
public void tearDown() throws Exception {
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
@Test
|
|
66
|
-
public void testRunnableArgument() {
|
|
67
|
-
final Application a = new Application();
|
|
68
|
-
a.run (new Runnable() {
|
|
69
|
-
public void run() {
|
|
70
|
-
a.stop();
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
class F implements ConnectionFactory {
|
|
78
|
-
public Connection connection() {
|
|
79
|
-
return new Connection() {
|
|
80
|
-
public void receiveData (ByteBuffer bb) {
|
|
81
|
-
application.stop();
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
};
|
|
87
|
-
|
|
88
|
-
@Test
|
|
89
|
-
public void testTcpServer() throws EmReactorException {
|
|
90
|
-
final Application a = new Application();
|
|
91
|
-
final SocketAddress saddr = new InetSocketAddress ("127.0.0.1", 9008);
|
|
92
|
-
a.run (new Runnable() {
|
|
93
|
-
public void run() {
|
|
94
|
-
try {
|
|
95
|
-
a.startServer (saddr, new F());
|
|
96
|
-
} catch (EmReactorException e) { Assert.fail(); }
|
|
97
|
-
new Thread() {
|
|
98
|
-
public void run() {
|
|
99
|
-
try {
|
|
100
|
-
Socket s = new Socket ("127.0.0.1", 9008);
|
|
101
|
-
s.getOutputStream().write(new String ("boo").getBytes());
|
|
102
|
-
} catch (UnknownHostException e) {
|
|
103
|
-
} catch (IOException e) {}
|
|
104
|
-
}
|
|
105
|
-
}.start();
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
}
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* $Id$
|
|
3
|
-
*
|
|
4
|
-
* Author:: Francis Cianfrocca (gmail: blackhedd)
|
|
5
|
-
* Homepage:: http://rubyeventmachine.com
|
|
6
|
-
* Date:: 15 Jul 2007
|
|
7
|
-
*
|
|
8
|
-
* See EventMachine and EventMachine::Connection for documentation and
|
|
9
|
-
* usage examples.
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*----------------------------------------------------------------------------
|
|
13
|
-
*
|
|
14
|
-
* Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
|
|
15
|
-
* Gmail: blackhedd
|
|
16
|
-
*
|
|
17
|
-
* This program is free software; you can redistribute it and/or modify
|
|
18
|
-
* it under the terms of either: 1) the GNU General Public License
|
|
19
|
-
* as published by the Free Software Foundation; either version 2 of the
|
|
20
|
-
* License, or (at your option) any later version; or 2) Ruby's License.
|
|
21
|
-
*
|
|
22
|
-
* See the file COPYING for complete licensing information.
|
|
23
|
-
*
|
|
24
|
-
*---------------------------------------------------------------------------
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*/
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
package com.rubyeventmachine.tests;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
import org.junit.After;
|
|
34
|
-
import org.junit.AfterClass;
|
|
35
|
-
import org.junit.Before;
|
|
36
|
-
import org.junit.BeforeClass;
|
|
37
|
-
import org.junit.Test;
|
|
38
|
-
import java.net.*;
|
|
39
|
-
import java.io.*;
|
|
40
|
-
import java.nio.*;
|
|
41
|
-
import java.nio.channels.*;
|
|
42
|
-
|
|
43
|
-
import com.rubyeventmachine.*;
|
|
44
|
-
import com.rubyeventmachine.application.*;
|
|
45
|
-
|
|
46
|
-
public class ConnectTest {
|
|
47
|
-
|
|
48
|
-
@BeforeClass
|
|
49
|
-
public static void setUpBeforeClass() throws Exception {
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
@AfterClass
|
|
53
|
-
public static void tearDownAfterClass() throws Exception {
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
@Before
|
|
57
|
-
public void setUp() throws Exception {
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
@After
|
|
61
|
-
public void tearDown() throws Exception {
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
@Test
|
|
65
|
-
public final void test1() throws IOException, ClosedChannelException {
|
|
66
|
-
Application a = new Application();
|
|
67
|
-
a.addTimer(0, new Timer() {
|
|
68
|
-
public void fire() {
|
|
69
|
-
application.connect("www.bayshorenetworks.com", 80, new Connection() {
|
|
70
|
-
public void connectionCompleted() {
|
|
71
|
-
close();
|
|
72
|
-
}
|
|
73
|
-
public void unbind() {
|
|
74
|
-
application.stop();
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
a.run();
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
@Test
|
|
83
|
-
public final void test2() throws IOException {
|
|
84
|
-
class Bays extends Connection {
|
|
85
|
-
public void connectionCompleted() {
|
|
86
|
-
sendData (ByteBuffer.wrap( new String ("GET / HTTP/1.1\r\nHost: _\r\n\r\n").getBytes()));
|
|
87
|
-
}
|
|
88
|
-
public void receiveData (ByteBuffer b) {
|
|
89
|
-
System.out.println (new String(b.array()));
|
|
90
|
-
application.stop();
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
Application a = new Application();
|
|
95
|
-
a.addTimer(0, new Timer() {
|
|
96
|
-
public void fire() {
|
|
97
|
-
application.connect("www.bayshorenetworks.com", 80, new Bays());
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
a.run();
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
public final void testBindConnect() throws IOException {
|
|
104
|
-
class Server extends Connection {
|
|
105
|
-
public void postInit() {
|
|
106
|
-
// TODO: get peername here and check if the port is 33333
|
|
107
|
-
// doesnt seem like peername is impl yet?
|
|
108
|
-
System.out.println("post init!");
|
|
109
|
-
}
|
|
110
|
-
};
|
|
111
|
-
|
|
112
|
-
Application a = new Application();
|
|
113
|
-
a.addTimer(0, new Timer() {
|
|
114
|
-
public void fire() {
|
|
115
|
-
application.startServer(new InetSocketAddress("localhost", 20000), new DefaultConnectionFactory());
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
a.addTimer(500, new Timer() {
|
|
119
|
-
public void fire() {
|
|
120
|
-
application.bindConnect("localhost", 33333, "localhost", 20000, new Connection());
|
|
121
|
-
}
|
|
122
|
-
});
|
|
123
|
-
|
|
124
|
-
a.run();
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
class C1 extends Connection {
|
|
128
|
-
Application application;
|
|
129
|
-
public C1 (Application a) {
|
|
130
|
-
application = a;
|
|
131
|
-
}
|
|
132
|
-
public void postInit() {
|
|
133
|
-
application.stop();
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
@Test
|
|
137
|
-
public final void test3() {
|
|
138
|
-
final Application a = new Application();
|
|
139
|
-
a.run (new Runnable() {
|
|
140
|
-
public void run() {
|
|
141
|
-
a.connect("www.bayshorenetworks.com", 80, new C1(a));
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
}
|