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 | 
            +
            }
         |