Forum: Ruby eventmachine 0.12.6

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
F303b583ceb3bf521767615325562eb2?d=identicon&s=25 Aman Gupta (Guest)
on 2009-03-09 09:39
(Received via mailing list)
I am happy to announce the release of eventmachine 0.12.6

This release contains numerous bug fixes and improvements. Highlights
include:

 - EM::connection_count API to get number of active connections in the
reactor
 - EM::get_max_timers API to get the max number of timers available
     (use EM::set_max_timers to increase it)
 - EM::Connection#get_status returns a Process::Status object
 - EM::attach can be used with pipes

 - Switched back to extconf for building extensions (prevents errors
   during gem install)
 - Better windows support
   - fixed various win32 build issues in fastfilereader and
     rubyeventmachine extensions
   - official 0.12.6 windows binary gem released on rubyforge
   - rake win32:gem task to build openssl and binary win32 gem
 - Better error reporting
   - raise ArgumentError when EM.connect/start_server are passed an
     invalid handler class
   - friendlier error messages raised from the EM error_callback
 - Various solaris build issues fixed

 - Fixed HttpCli2 to handle basic auth and content-length:0 bodies
 - Fixed latency caused when cleaning up EM::popen'd processes
 - Fixed inactivity timeout bug in the pure ruby reactor
 - Fixed issues in the test suite due to improper kqueue fd
   initialization/cleanup

 - Bundled memcache protocol

     EM.run{
       cache = EM::P::Memcache.connect 'localhost', 11211
       cache.delete(:a)
       cache.set(:a, 'hello')
       cache.get(:a){ |v| p v }
     }

 - Optional error handler for errors raised during event callbacks

     EM.error_handler{ |e|
           puts "Error raised during event loop: #{e.message}"
     }

 - EM::system wrapper for EM::popen

     EM.run{
       EM.system('ls'){ |out,status| puts out if status.exitstatus == 0
}

       EM.system('sh', proc{ |process|
         process.send_data("echo hello\n")
         process.send_data("exit\n")
       }, proc{ |out,status|
         puts out
       })
     }

 - EM::next_tick can be used before the reactor is running

     EM.next_tick{ puts "The reactor was started at #{Time.now}" }
     sleep 2
     EM.run{}

 - EM::Connection now has an ssl_handshake_completed event

     require 'openssl'

     module SslHandler
       def post_init
         start_tls
       end
       def ssl_handshake_completed
         cert = get_peer_cert
         close_connection unless
OpenSSL::X509::Certificate.new(cert).subject =~ /Google/
       end
     end

     EM.run{
       EM.connect 'www.google.com', 443, SslHandler
     }

Special thanks to the following people for making this release possible:
 - Jake Douglas
 - Bob Potter
 - Ugo Riboni

The rdoc has been updated and is available at
http://eventmachine.rubyforge.org/

 Aman
Bec38d63650c8912b6ba9b557fb953b9?d=identicon&s=25 Roger Pack (rogerdpack)
on 2009-03-10 21:38
Wow and I thought EM dev. was dead :)


> �- Better windows support
> � �- fixed various win32 build issues in fastfilereader and
>      rubyeventmachine extensions

works well on mingw now.

> � �- friendlier error messages raised from the EM error_callback

Wasn't there an error_callback before that was nixed because it hurt the
speed somewhat?

Thanks for doing all that other stuff.
-=r
This topic is locked and can not be replied to.