sonixlabs-eventmachine-java 1.0.0.rc.7-java → 1.0.3.1-java
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.
- checksums.yaml +4 -12
- data/.travis.yml +12 -0
- data/CHANGELOG.md +33 -0
- data/Gemfile +0 -1
- data/README.md +2 -2
- data/README_JP.md +10 -2
- data/eventmachine.gemspec +10 -7
- data/ext/binder.cpp +1 -1
- data/ext/cmain.cpp +11 -0
- data/ext/ed.cpp +22 -7
- data/ext/ed.h +5 -5
- data/ext/em.cpp +64 -66
- data/ext/em.h +10 -5
- data/ext/eventmachine.h +1 -0
- data/ext/extconf.rb +4 -3
- data/ext/fastfilereader/extconf.rb +1 -1
- data/ext/rubymain.cpp +22 -1
- data/ext/ssl.cpp +1 -1
- data/java/.classpath +1 -3
- data/java/.gitignore +1 -0
- data/java/src/com/rubyeventmachine/DatagramPacket.java +13 -0
- data/java/src/com/rubyeventmachine/EmReactor.java +502 -561
- data/java/src/com/rubyeventmachine/EventCallback.java +7 -0
- data/java/src/com/rubyeventmachine/EventCode.java +26 -0
- data/java/src/com/rubyeventmachine/EventableChannel.java +102 -42
- data/java/src/com/rubyeventmachine/EventableDatagramChannel.java +146 -161
- data/java/src/com/rubyeventmachine/EventableSocketChannel.java +371 -334
- data/java/src/com/rubyeventmachine/SslBox.java +310 -0
- data/lib/em/iterator.rb +5 -44
- data/lib/em/processes.rb +1 -1
- data/lib/em/protocols/httpclient.rb +2 -2
- data/lib/em/protocols/line_protocol.rb +2 -2
- data/lib/em/protocols/smtpclient.rb +1 -1
- data/lib/em/protocols/smtpserver.rb +10 -7
- data/lib/em/protocols/stomp.rb +5 -2
- data/lib/em/protocols.rb +1 -0
- data/lib/em/version.rb +1 -1
- data/lib/eventmachine.rb +35 -14
- data/lib/jeventmachine.rb +65 -18
- data/rakelib/package.rake +15 -18
- data/tests/server.crt +36 -0
- data/tests/server.key +51 -0
- data/tests/test_attach.rb +24 -0
- data/tests/test_connection_count.rb +21 -1
- data/tests/test_epoll.rb +15 -0
- data/tests/test_httpclient2.rb +5 -0
- data/tests/test_idle_connection.rb +6 -4
- data/tests/test_iterator.rb +97 -0
- data/tests/test_line_protocol.rb +33 -0
- data/tests/test_pause.rb +24 -0
- data/tests/test_set_sock_opt.rb +1 -1
- data/tests/test_ssl_echo_data.rb +60 -0
- data/tests/test_ssl_methods.rb +15 -7
- data/tests/test_ssl_verify.rb +4 -4
- data/tests/test_stomp.rb +37 -0
- data/tests/test_system.rb +42 -0
- metadata +45 -42
- data/lib/rubyeventmachine.jar +0 -0
data/ext/extconf.rb
CHANGED
@@ -71,13 +71,14 @@ add_define "HAVE_INOTIFY" if inotify = have_func('inotify_init', 'sys/inotify.h'
|
|
71
71
|
add_define "HAVE_OLD_INOTIFY" if !inotify && have_macro('__NR_inotify_init', 'sys/syscall.h')
|
72
72
|
add_define 'HAVE_WRITEV' if have_func('writev', 'sys/uio.h')
|
73
73
|
|
74
|
-
have_func('
|
74
|
+
have_func('rb_wait_for_single_fd')
|
75
|
+
have_func('rb_enable_interrupt')
|
75
76
|
have_func('rb_time_new')
|
76
77
|
|
77
78
|
# Minor platform details between *nix and Windows:
|
78
79
|
|
79
80
|
if RUBY_PLATFORM =~ /(mswin|mingw|bccwin)/
|
80
|
-
GNU_CHAIN = ENV['CROSS_COMPILING']
|
81
|
+
GNU_CHAIN = ENV['CROSS_COMPILING'] || $1 == 'mingw'
|
81
82
|
OS_WIN32 = true
|
82
83
|
add_define "OS_WIN32"
|
83
84
|
else
|
@@ -169,7 +170,7 @@ TRY_LINK.sub!('$(CC)', '$(CXX)')
|
|
169
170
|
add_define 'HAVE_MAKE_PAIR' if try_link(<<SRC, '-lstdc++')
|
170
171
|
#include <utility>
|
171
172
|
using namespace std;
|
172
|
-
int main(){ pair<int,int> tuple = make_pair(1,2); }
|
173
|
+
int main(){ pair<const int,int> tuple = make_pair(1,2); }
|
173
174
|
SRC
|
174
175
|
TRY_LINK.sub!('$(CXX)', '$(CC)')
|
175
176
|
|
@@ -17,7 +17,7 @@ add_define 'BUILD_FOR_RUBY'
|
|
17
17
|
# Minor platform details between *nix and Windows:
|
18
18
|
|
19
19
|
if RUBY_PLATFORM =~ /(mswin|mingw|bccwin)/
|
20
|
-
GNU_CHAIN = ENV['CROSS_COMPILING']
|
20
|
+
GNU_CHAIN = ENV['CROSS_COMPILING'] || $1 == 'mingw'
|
21
21
|
OS_WIN32 = true
|
22
22
|
add_define "OS_WIN32"
|
23
23
|
else
|
data/ext/rubymain.cpp
CHANGED
@@ -273,6 +273,17 @@ static VALUE t_start_unix_server (VALUE self, VALUE filename)
|
|
273
273
|
return ULONG2NUM (f);
|
274
274
|
}
|
275
275
|
|
276
|
+
/********************
|
277
|
+
t_attach_sd
|
278
|
+
********************/
|
279
|
+
|
280
|
+
static VALUE t_attach_sd(VALUE self, VALUE sd)
|
281
|
+
{
|
282
|
+
const unsigned long f = evma_attach_sd(FIX2INT(sd));
|
283
|
+
if (!f)
|
284
|
+
rb_raise (rb_eRuntimeError, "%s", "no socket descriptor acceptor");
|
285
|
+
return ULONG2NUM (f);
|
286
|
+
}
|
276
287
|
|
277
288
|
|
278
289
|
/***********
|
@@ -332,7 +343,7 @@ static VALUE t_get_peer_cert (VALUE self, VALUE signature)
|
|
332
343
|
BIO_get_mem_ptr(out, &buf);
|
333
344
|
ret = rb_str_new(buf->data, buf->length);
|
334
345
|
X509_free(cert);
|
335
|
-
|
346
|
+
BIO_free(out);
|
336
347
|
}
|
337
348
|
#endif
|
338
349
|
|
@@ -566,6 +577,14 @@ static VALUE t_detach_fd (VALUE self, VALUE signature)
|
|
566
577
|
return INT2NUM(evma_detach_fd (NUM2ULONG (signature)));
|
567
578
|
}
|
568
579
|
|
580
|
+
/*********************
|
581
|
+
t_get_file_descriptor
|
582
|
+
*********************/
|
583
|
+
static VALUE t_get_file_descriptor (VALUE self, VALUE signature)
|
584
|
+
{
|
585
|
+
return INT2NUM(evma_get_file_descriptor (NUM2ULONG (signature)));
|
586
|
+
}
|
587
|
+
|
569
588
|
/**************
|
570
589
|
t_get_sock_opt
|
571
590
|
**************/
|
@@ -1204,6 +1223,7 @@ extern "C" void Init_rubyeventmachine()
|
|
1204
1223
|
rb_define_module_function (EmModule, "start_tcp_server", (VALUE(*)(...))t_start_server, 2);
|
1205
1224
|
rb_define_module_function (EmModule, "stop_tcp_server", (VALUE(*)(...))t_stop_server, 1);
|
1206
1225
|
rb_define_module_function (EmModule, "start_unix_server", (VALUE(*)(...))t_start_unix_server, 1);
|
1226
|
+
rb_define_module_function (EmModule, "attach_sd", (VALUE(*)(...))t_attach_sd, 1);
|
1207
1227
|
rb_define_module_function (EmModule, "set_tls_parms", (VALUE(*)(...))t_set_tls_parms, 4);
|
1208
1228
|
rb_define_module_function (EmModule, "start_tls", (VALUE(*)(...))t_start_tls, 1);
|
1209
1229
|
rb_define_module_function (EmModule, "get_peer_cert", (VALUE(*)(...))t_get_peer_cert, 1);
|
@@ -1217,6 +1237,7 @@ extern "C" void Init_rubyeventmachine()
|
|
1217
1237
|
|
1218
1238
|
rb_define_module_function (EmModule, "attach_fd", (VALUE (*)(...))t_attach_fd, 2);
|
1219
1239
|
rb_define_module_function (EmModule, "detach_fd", (VALUE (*)(...))t_detach_fd, 1);
|
1240
|
+
rb_define_module_function (EmModule, "get_file_descriptor", (VALUE (*)(...))t_get_file_descriptor, 1);
|
1220
1241
|
rb_define_module_function (EmModule, "get_sock_opt", (VALUE (*)(...))t_get_sock_opt, 3);
|
1221
1242
|
rb_define_module_function (EmModule, "set_sock_opt", (VALUE (*)(...))t_set_sock_opt, 4);
|
1222
1243
|
rb_define_module_function (EmModule, "set_notify_readable", (VALUE (*)(...))t_set_notify_readable, 2);
|
data/ext/ssl.cpp
CHANGED
@@ -459,7 +459,7 @@ extern "C" int ssl_verify_wrapper(int preverify_ok, X509_STORE_CTX *ctx)
|
|
459
459
|
|
460
460
|
ConnectionDescriptor *cd = dynamic_cast <ConnectionDescriptor*> (Bindable_t::GetObject(binding));
|
461
461
|
result = (cd->VerifySslPeer(buf->data) == true ? 1 : 0);
|
462
|
-
|
462
|
+
BIO_free(out);
|
463
463
|
|
464
464
|
return result;
|
465
465
|
}
|
data/java/.classpath
CHANGED
@@ -1,8 +1,6 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
2
|
<classpath>
|
3
3
|
<classpathentry kind="src" path="src"/>
|
4
|
-
<classpathentry excluding="src/" kind="src" path=""/>
|
5
4
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
6
|
-
<classpathentry kind="
|
7
|
-
<classpathentry kind="output" path="src"/>
|
5
|
+
<classpathentry kind="output" path="bin"/>
|
8
6
|
</classpath>
|
data/java/.gitignore
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
/bin
|
@@ -0,0 +1,13 @@
|
|
1
|
+
package com.rubyeventmachine;
|
2
|
+
|
3
|
+
import java.net.SocketAddress;
|
4
|
+
import java.nio.ByteBuffer;
|
5
|
+
|
6
|
+
class DatagramPacket {
|
7
|
+
public ByteBuffer bb;
|
8
|
+
public SocketAddress recipient;
|
9
|
+
public DatagramPacket (ByteBuffer _bb, SocketAddress _recipient) {
|
10
|
+
bb = _bb;
|
11
|
+
recipient = _recipient;
|
12
|
+
}
|
13
|
+
}
|