Files | Admin

Notes:

Release Name: eventmachine 0.12.8

Notes:
I am happy to announce the release of eventmachine 0.12.8. Gems (including
binary builds for win32 and jruby) have been uploaded to rubyforge and should
be available via `gem install` shortly.

This release contains almost 100 patches with numerous bug fixes, improvements
and several new features. Highlights include:

  - Major code cleanups
    - converted all tabs to spaces in ruby source files
    - better documentation for all methods and classes
    - moved all protocol implementations to em/protocols/
    - split out eventmachine.rb to em/{connection,version,timers}.rb
    - removed several deprecated methods and classes
    - rake java:gem task to generate a binary jruby gem

  - Reactor fixes and improvements
    - worked around a kqueue bug in OSX causing nbytes>0 assertion failures
    - reduced the stack size of the epoll/kqueue reactors (this fixes a
      long-standing issue causing performance issues with ruby threads)
    - platforms that support it will use writev() to write data to the
      network, resulting in fewer memcpy()s
    - explicitly set non-blocking mode on attached sockets
    - allow read/write pipes to be watched using EM.attach
    - gettimeofday() is called only once per tick and used for timers,
      heartbeats and gCurrentLoopTime

  - Protocol improvements
    - added a simple DRb style ObjectProtocol, for communication using ruby
      objects (i.e. simple rpc server/clients: http://gist.github.com/96699)

        module RubyServer
          include EM::P::ObjectProtocol
        
          def receive_object obj
            send_object({'received object' => obj})
          end
        end

    - HttpClient2 callbacks are now passed in the response object
    - cleaner Postgres protocol

  - New APIs
    - EM.kqueue= and EM.epoll= can be used to toggle kqueue/epoll
    - EM.threadpool_size= sets the size of the EM.defer threadpool
    - EM.ssl? will check if the reactor was built with ssl support
    - EM.schedule{} helper runs a block in the main reactor thread
    - EM.reactor_thread? checks if the current thread is the reactor thread
    - EM.system now returns the new process' pid and can take multiple args

        pid = EM.system('sleep', 1000){ |out, status|
          # pid == status.pid
          # 15 == status.termsig
          p [pid, out, status]
        }
        Process.kill 15, pid

    - EM::Channel allows for in-reactor publish/subscribe

        chan = EM::Channel.new
        sid = chan.subscribe{ |msg|
          p [:got, msg]
        }

        chan.push('hello')
        chan.push('world')
        chan.unsubscribe(sid)
    
    - EM::Queue provides a simple queue with asynchronous pops

        q = EM::Queue.new
        q.push(1, 2)
        3.times do
          q.pop{ |num| p [:got, num] }
        end
        q.push(3)

    - EM.watch_file uses kqueue on OSX or inotify on linux to watch a file,
      triggering events when the file is modified, moved or deleted

        module EtcPasswd
          def file_modified
            STDERR.puts 'WARNING /etc/passwd WAS MODIFIED'
          end
        end

        EM.run{
          EM.watch_file '/etc/passwd', EtcPasswd
        }

    - EM.watch_process will watch a pid, triggering events when the process
      forks or dies (note this currently only works with kqueue)

        module DaemonWatcher
          def process_exited
            STDERR.puts 'WARNING your daemon has died'
          end
        end

        EM.kqueue = true
        EM.run{
          EM.watch_process(some_daemon_pid, DaemonWatcher)
        }

    - EM.enable_proxy will natively proxy data between two connections, without
      the overhead of converting incoming data to ruby strings
    - EM::Connection#comm_inactivity_timeout= now takes a float
    - EM.heartbeat_interval= changes how often sockets are checked
      for inactivity
    - EM.bind_connect binds an outgoing socket to a specific local ip/port
    - EM::Connection#ssl_verify_peer callback allows servers to verify client
      ssl certificates (use start_tls(:verify_peer => true))

  - Ruby API fixes
    - EM.add_timer() can take a number of seconds as a string
    - EM.open_datagram_socket() correctly handles string ports
    - EM::Connection#send_data will now call .to_s on its argument
    - the EM.next_tick{} queue is cleaned up on reactor shutdown (this fixes an
      issue in AMQP when connecting and disconnecting multiple times)
    - fixed potential memory leak in EM.cancel_timer

At this time, there are a few known issues which will be fixed for 0.12.10,
along with a couple new features that are in the works:

  - EM.current_time is broken
  
      EM.current_time returns random time objects due to a change to
      gCurrentLoopTime in the reactor. This has been fixed in the latest
      git master branch.
  
  - ruby 1.9 win32 support

      EM works with 1.9 on linux, but still fails to build on win32. The
      next release will include an official win32 ruby 1.9 binary gem.

  - EM::Iterator

      Looping over large arrays blocks the reactor and introduces latency.
      0.12.10 will include EM::Iterator to spread out iterations over multiple
      reactor ticks.

  - jruby patches

      Interest in the jruby reactor has been increasing, and there are several
      patches in the works by Hemant 'gnufied' Kumar. 0.12.8 works with jruby,
      but is missing several features that are available in the c++ reactor.

  - require 'openssl' issues

      Custom ruby builds on OSX will segfault if you require 'openssl' after
      eventmachine. To work around this issue, simply:
      
        require 'openssl'
        require 'eventmachine'

  - async dns lookups

      There are currently a few ways of doing async dns lookups with EM,
      using either em-dns, em-asyncns or dnsruby. The next release will
      include an async dns implementation which will be used by default.

  - exceptions in post_init/initialize are silently swallowed

      Exceptions raised in your handler's post_init or initialize methods
      are silently swallowed and cause an ConnectionUnbound error to surface
      later on with a confusing error message. If you're experiencing issues,
      use an error handler to catch the original exception:
      
        EM.error_handler{ |e|
          puts e
          puts e.backtrace.join("\n  ")
        }

  - process watching on linux using netlink

      EM.watch_process is currently only implemented for kqueue. The next
      release will add support for linux using the netlink code from God.

  - better, more stable test suite

      The current test suite is very unstable and does not test the pure ruby,
      jruby, kqueue or epoll reactors. We plan on overhauling the suite to
      provide better test coverage and ensure stability of the different
      reactors and platforms.

Special thanks to the following people for making this release possible:
  - Bob Potter
  - Eugene Pimenov
  - Jake 'yakischloba' Douglas
  - Joern Barthel
  - James 'raggi' Tucker
  - coderrr

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

  Aman


Changes: commit b55e18c891d43dcfd91e10bdcf5558efd83b5e25 Author: Aman Gupta <aman@tmm1.net> Date: Fri May 22 17:01:13 2009 -0700 Bump to version 0.12.8 commit 7601ac0b37c79ead6947289d5c324e1547fa9e08 Author: Aman Gupta <aman@tmm1.net> Date: Fri May 22 16:42:40 2009 -0700 disable failing tests commit 65b9c003d5836b50e17235312175840c0cad3a7c Author: Aman Gupta <aman@tmm1.net> Date: Fri May 22 23:30:30 2009 +0100 Fixes for VC6, long long is not supported commit 8d39aecf71219ad39439a156960200b634a4c0b1 Author: Jake Douglas <jakecdouglas@gmail.com> Date: Fri May 22 10:57:31 2009 -0700 Added getter/setter for HeartbeatInterval commit ff171e7e592720b5272145c32c9fc952ad5a5041 Author: Aman Gupta <aman@tmm1.net> Date: Fri May 15 15:18:11 2009 -0700 Use RFLOAT_VALUE for ruby 1.9 compat in Connection#comm_inactivity_timeout= commit 391b730d61c403dd1550f1ecc9df86b79ac4509f Author: Aman Gupta <aman@tmm1.net> Date: Mon May 11 22:40:06 2009 -0700 Add EM::Channel#pop to receive one message from a channel commit eb70e077ac91fd6cd7ace2a8e5ca56bbd54f895e Author: Jake Douglas <jakecdouglas@gmail.com> Date: Fri May 8 14:35:51 2009 -0700 Added direct proxying feature EM.enable_proxy commit 91d5dc38887c5ec501439f794583c7f2f3cbdea4 Author: Jake Douglas <jakecdouglas@gmail.com> Date: Wed May 6 15:24:40 2009 -0700 Changed to usec loop time on supported platforms. Cleaned up some unused variables. commit c4581c6c2ccfd18982a62cb2b1f84e4ae3826e19 Author: Aman Gupta <aman@tmm1.net> Date: Tue May 5 18:49:03 2009 -0700 Fix kqueue/epoll for attached read/write pipes commit eae390a123fb55650e1831acebf79eea7d758ea3 Author: Aman Gupta <aman@tmm1.net> Date: Tue May 5 14:06:31 2009 -0700 Add port.to_i in EM::open_datagram_socket commit feb534f11784a04b090e293fd7c7d919a09b4bed Author: Aman Gupta <aman@tmm1.net> Date: Tue May 5 13:58:49 2009 -0700 Revert "Correctly handle string ports in EM.start_server and EM.connect" This reverts commit 123ed20a43e82edfde1c8300429c87bcfb7daa52. commit e7983baa3bd0fc810e64e591e74b02dd263d8a59 Author: Aman Gupta <aman@tmm1.net> Date: Tue May 5 11:57:30 2009 -0700 Hack around kqueue bugs on OSX responsible for nbytes>0 assertion failures commit 6cf5b59a508ead9dacec6dca09be06e6876302ec Author: Aman Gupta <aman@tmm1.net> Date: Tue May 5 11:57:06 2009 -0700 Add EventMachine_t::UsingKqueue/Epoll getters for bKqueue and bEpoll commit f89dd20666fdbc66fbde0c349251af088c5342b0 Author: Aman Gupta <aman@tmm1.net> Date: Tue May 5 10:15:56 2009 -0700 Heap allocate struct kevent array for the Kqueue reactor commit 123ed20a43e82edfde1c8300429c87bcfb7daa52 Author: Aman Gupta <aman@tmm1.net> Date: Tue May 5 09:56:24 2009 -0700 Correctly handle string ports in EM.start_server and EM.connect commit e1a04d95f50afb948771f39c50ea4a770b8d4214 Author: Aman Gupta <aman@tmm1.net> Date: Thu Apr 30 16:31:10 2009 -0700 Fix weirdness when calling EM::add_timer with a string commit 1f6a4c912256b8110af94e270f7dde486f3c9d75 Author: Aman Gupta <aman@tmm1.net> Date: Tue Apr 28 18:08:26 2009 -0700 Reduce the size of the RunEpollOnce stack frame by 800kb. This fixes the long-standing epoll+threads issue (#84) commit 6626063809557c64e1ff434540b6921914422d02 Author: steve <coderrr.contact@gmail.com> Date: Mon Apr 27 13:13:32 2009 +0700 remove ifconfig dependency for bind_connect test; now should work on all OSs commit bde79f99322edb5d02025bca38f619e151fb3c01 Author: Jake Douglas <jakecdouglas@gmail.com> Date: Sun Apr 26 21:41:07 2009 -0700 Fixed aggregated event handling for kqueue and notify, fixed path for ifconfig. Signed-off-by: Aman Gupta <aman@tmm1.net> commit 4e42455160cfb1e947b33afc541f644a4b257446 Author: Aman Gupta <aman@tmm1.net> Date: Sat Apr 25 02:08:58 2009 -0700 Clean up next_tick_queue on reactor shutdown commit fca487d0c35d39bfe67fa9892ad77aad25650259 Author: Jake Douglas <jakecdouglas@gmail.com> Date: Sun Apr 19 13:38:58 2009 -0700 change EV_ONESHOT + re-register to EV_CLEAR in Kqueue file watching feature Signed-off-by: Aman Gupta <aman@tmm1.net> commit 168b8d678a100bd123a890bf4e45c6c1197d4846 Author: steve <coderrr.contact@gmail.com> Date: Sat Apr 18 06:13:30 2009 +0700 call to_s on object before sending data Signed-off-by: Aman Gupta <aman@tmm1.net> commit e3c02c92e3d17ce07ef4ef0b1f08af2db6953236 Author: Aman Gupta <aman@tmm1.net> Date: Wed Apr 15 02:40:14 2009 -0700 EM.system can take multiple arguments for the command commit 9b7a76dc361ae737caf6fc554a8973d161f1ed4c Author: Joern Barthel <joern.barthel@acm.org> Date: Tue Apr 14 23:02:22 2009 +0200 EM.system returns the process pid now Signed-off-by: Aman Gupta <aman@tmm1.net> commit 1b85ffdeb526c8ed4f09e0fcad09832ab0a2558a Author: Aman Gupta <aman@tmm1.net> Date: Sat Apr 4 21:32:48 2009 -0700 More win32 fixes commit c085613ec52d44e35336dce26d74929595cfa370 Author: Aman Gupta <aman@tmm1.net> Date: Sat Apr 4 21:28:48 2009 -0700 Fix compile issues on win32 commit 59aa01702633e2a91ddf654c3c044e7d870b5e65 Author: Aman Gupta <aman@tmm1.net> Date: Sat Apr 4 20:39:24 2009 -0700 Some rake task descriptions commit 9324f20a82593b0d7bb753465082dd7f9ed17ca6 Author: Aman Gupta <aman@tmm1.net> Date: Sat Apr 4 20:35:37 2009 -0700 JRuby gem platform is java, not jruby commit a8f39607769456ccb449e811af7a6d7d91731ee9 Author: Aman Gupta <aman@tmm1.net> Date: Sat Apr 4 17:37:18 2009 -0700 Convert tabs to spaces in tests/test_* commit e40aa641c6e401cb1e64d50084f4d28ca8486c07 Author: Aman Gupta <aman@tmm1.net> Date: Sat Apr 4 17:29:52 2009 -0700 Remove test_eventables commit 3354a3e2d2c848061d61209f9d7df11b4f2d183e Author: Aman Gupta <aman@tmm1.net> Date: Sat Apr 4 17:28:24 2009 -0700 Remove requires for em/eventable and em/messages commit 3c6738526ae85cab969fffba5f754b1737d7914e Author: Aman Gupta <aman@tmm1.net> Date: Sat Apr 4 17:12:09 2009 -0700 Updated gemspec commit 4604f3bbf8ac68951cd0b79f70cd4f9d5904b323 Author: Aman Gupta <aman@tmm1.net> Date: Sat Apr 4 17:11:54 2009 -0700 Remove old EM::Eventable stub commit ec0fae1a2e873cde3fca12d06db082471a3d0495 Author: Aman Gupta <aman@tmm1.net> Date: Sat Apr 4 17:11:38 2009 -0700 Add nodoc to some EM::DeferrableChildProcess internals commit f7c9b2dd6327b816b2001c40dde886ab12a56a12 Author: Aman Gupta <aman@tmm1.net> Date: Sat Apr 4 17:11:19 2009 -0700 Convert tabs to spaces in protocol implementations commit 25eb21d90dc83eaa9faf4d81b73e123f5f1d8e01 Author: Aman Gupta <aman@tmm1.net> Date: Sat Apr 4 16:35:57 2009 -0700 Pass through block to bind_connect commit 8309448a88ced57e1fd82930bef3be830b14f7d7 Author: Aman Gupta <aman@tmm1.net> Date: Sat Apr 4 16:23:26 2009 -0700 Add some simple RDoc examples for EM.Callback, EM::Channel and EM::Queue commit 3f7e2f3c38628ee5a9c9d60da6fa73e27303b09e Author: steve <coderrr.contact@gmail.com> Date: Thu Apr 2 14:28:43 2009 +0700 added bind_connect method to c++, pr, and jruby implementations which supports binding to a specific local address/port before connecting Signed-off-by: Aman Gupta <aman@tmm1.net> commit b8ab7862bdb580f06405aa5095f32f2bbf5a3cea Author: Aman Gupta <aman@tmm1.net> Date: Mon Mar 30 21:14:08 2009 -0700 Wrap ssl_handshake_completed and ssl_verify_peer events in #ifdef WITH_SSL commit 36af28c4bd4ca2737ce1fad6f6c8b49caa8ac9f6 Author: Jake Douglas <jakecdouglas@gmail.com> Date: Sun Mar 29 18:43:07 2009 -0700 Fixed connection_count and test_connection_count Signed-off-by: Aman Gupta <aman@tmm1.net> commit f27e862479b086795674629f12141c6df544e747 Author: Jake Douglas <jakecdouglas@gmail.com> Date: Sun Mar 29 16:12:07 2009 -0700 Added :verify_peer support for requesting and verifying an X509 certificate from a remote SSL peer. Signed-off-by: Aman Gupta <aman@tmm1.net> commit 691fbfaf257124710ac32b48de96acb80018690f Author: raggi <jftucker@gmail.com> Date: Sun Mar 29 18:06:53 2009 +0100 Added test for reactor_thread? and fixed up EM.schedule for pre-reactor schedules commit 2db07fe374582d7e3270a57466a77ef94bcc34d5 Author: Aman Gupta <aman@tmm1.net> Date: Sat Mar 28 00:04:00 2009 -0700 Fix gemspec for top-level README commit e69229293c3e6f0dd0135f2dc001367dc0beb354 Author: Aman Gupta <aman@tmm1.net> Date: Fri Mar 27 23:41:42 2009 -0700 Update gemspec commit 10e03b9782859cdbaf00db8917ead7a4d0e279e8 Author: Aman Gupta <aman@tmm1.net> Date: Fri Mar 27 21:31:46 2009 -0700 Use writev in ConnectionDescriptor::_WriteOutboundData if possible commit 4f5db645146594679ec362e5d066b19d3628547f Merge: 5a7234e... 52853a2... Author: raggi <jftucker@gmail.com> Date: Fri Mar 27 00:10:30 2009 +0000 Merge branch 'master' of git@github.com:eventmachine/eventmachine * 'master' of git@github.com:eventmachine/eventmachine: Use write() instead of send() in ConnectionDescriptor::_WriteOutboundData Use read instead of recv in ConnectionDescriptor::Read (fixes EM.attach issues with pipes) Updated gemspec commit 5a7234e5ea3cef7dd3df4fa30de9e901b705663c Merge: 953cf4a... 986e88b... Author: raggi <jftucker@gmail.com> Date: Fri Mar 27 00:07:33 2009 +0000 Merge branch 'master' into worker * master: Add initialize for deferrable child process, saves error for silent subprocesses Add example for Socket.unpack_sockaddr_in usage with get_peername Use false to indicated a cancelled timer instead of using an empty proc. Reduces mem usage in certain situations. move README to top level (for gihtub) Updated gemspec rake java:gem to build a binary jruby gem Simple kqueue based process watching Few more references to EM.watch Ignore EM::FileWatch constants in rdoc Rename various file watching apis and variables: EM.watch_file -> EM.watch_filename -> evma_watch_filename -> EventMachine_t::WatchFile -> EventMachine_t::Files[] Conflicts: lib/eventmachine.rb commit 953cf4a8f062a5a7c63671cf17cb37662258ee5c Author: raggi <jftucker@gmail.com> Date: Thu Mar 19 02:05:55 2009 +0000 Added EM.schedule, EM::Channel and EM::Queue commit 52853a241c3522356327a0dfe39efbc5dce94cfe Author: Aman Gupta <aman@tmm1.net> Date: Thu Mar 26 16:44:46 2009 -0700 Use write() instead of send() in ConnectionDescriptor::_WriteOutboundData commit f3c1a1160f490068bbd4bf9fe2b1794c858548af Author: Aman Gupta <aman@tmm1.net> Date: Thu Mar 26 14:54:49 2009 -0700 Use read instead of recv in ConnectionDescriptor::Read (fixes EM.attach issues with pipes) commit 5b0eec7543ef8b4811d4d307dff2729b9e9208cb Author: Aman Gupta <aman@tmm1.net> Date: Thu Mar 26 11:11:04 2009 -0700 Updated gemspec commit 986e88bd3bafd51791ddfbde792459b6b58369ec Author: raggi <jftucker@gmail.com> Date: Thu Mar 26 15:30:02 2009 +0000 Add initialize for deferrable child process, saves error for silent subprocesses commit 397c2eef75b2160099c8ba25eb07229f7e536c54 Author: Aman Gupta <aman@tmm1.net> Date: Tue Mar 24 19:24:26 2009 -0700 Add example for Socket.unpack_sockaddr_in usage with get_peername commit 18f5a4d72443de346fec92c5e08ff682d4383b1b Author: Bob Potter <bobby.potter@gmail.com> Date: Sun Mar 22 18:26:32 2009 -0500 Use false to indicated a cancelled timer instead of using an empty proc. Reduces mem usage in certain situations. (The proc/closure could prevent objects in the enclosed environment from being GC'ed until timer is triggered) Signed-off-by: Aman Gupta <aman@tmm1.net> commit 5947ebd22aff1f8bc5a786707a6b3c8d26e5ca8b Author: Aman Gupta <aman@tmm1.net> Date: Sun Mar 22 02:18:04 2009 -0700 move README to top level (for gihtub) commit 008bc7e0efe99aa5c4c015d1d1b2e6556653ccf0 Author: Aman Gupta <aman@tmm1.net> Date: Thu Mar 19 00:43:44 2009 -0700 Updated gemspec commit ff9b3d0c3a89de0db7ba0b09dfd4fe55d0dea30f Author: Aman Gupta <aman@tmm1.net> Date: Thu Mar 19 00:41:04 2009 -0700 rake java:gem to build a binary jruby gem commit ad5ab5ae0fc38b08abd0456cbc1954fc68dbc4df Author: Aman Gupta <aman@tmm1.net> Date: Wed Mar 18 18:47:47 2009 -0700 Simple kqueue based process watching commit 821bc57e7b0696b1c5aba416a64583cdfce99389 Author: Aman Gupta <aman@tmm1.net> Date: Wed Mar 18 15:48:20 2009 -0700 Few more references to EM.watch commit a2a3f00444a89b9d5912a797f339d59316af40ae Author: Aman Gupta <aman@tmm1.net> Date: Wed Mar 18 15:27:26 2009 -0700 Ignore EM::FileWatch constants in rdoc commit 9baa105ef6955349854722b46b5a0d2ec8bdc75c Author: Aman Gupta <aman@tmm1.net> Date: Wed Mar 18 15:22:18 2009 -0700 Rename various file watching apis and variables: EM.watch_file -> EM.watch_filename -> evma_watch_filename -> EventMachine_t::WatchFile -> EventMachine_t::Files[] commit faab3434af2fb3bc7166425e7da61851c46c70bc Author: Eugene Pimenov <libc@mac.com> Date: Sat Mar 7 17:19:37 2009 +0300 EventMachine#ssl? method, and skipping ssl tests if it's not available. Signed-off-by: Aman Gupta <aman@tmm1.net> commit dbe45be9be63e6e128b1df6a4c180805a31aa0ff Author: raggi <jftucker@gmail.com> Date: Tue Mar 17 02:43:26 2009 +0000 Update gemspec commit 4058fe910a6a621f2e1071dde06df4c9b6c8aa3a Author: Aman Gupta <aman@tmm1.net> Date: Mon Mar 16 19:41:54 2009 -0700 Inotify fixes: file_delete only fires after fds have been closed, use syscall hackery for older linux distributions (*cough* debian) commit 25d61be84ee9ef485035bb230724eb191c1ec48d Merge: c89ce8c... 0259ee1... Author: raggi <jftucker@gmail.com> Date: Tue Mar 17 02:05:56 2009 +0000 Merge branch 'master' of git@github.com:eventmachine/eventmachine * 'master' of git@github.com:eventmachine/eventmachine: Added support for monitoring of individual files using inotify and kqueue. commit c89ce8c7508a16b54d02e187976af61d5b24d684 Author: raggi <jftucker@gmail.com> Date: Tue Mar 17 02:01:19 2009 +0000 Fix for my PostgresPR version commit 0259ee1b8673364158f76db1437d5fadcc48d1b6 Author: Jake Douglas <jakecdouglas@gmail.com> Date: Mon Mar 16 18:15:14 2009 -0700 Added support for monitoring of individual files using inotify and kqueue. Signed-off-by: Aman Gupta <aman@tmm1.net> commit 424a1c7a58f2a1274876be4189040281fe12cffa Author: raggi <jftucker@gmail.com> Date: Tue Mar 17 00:57:25 2009 +0000 Don't splash PostgresPR over Object commit 8d2c887b017b51360afcc95f4dfdc4cbdecf77c7 Author: raggi <jftucker@gmail.com> Date: Tue Mar 17 00:37:59 2009 +0000 update gemspec commit 50cfa50b75add5713e3689eaf9a935e4902a29f4 Author: raggi <jftucker@gmail.com> Date: Tue Mar 17 00:36:07 2009 +0000 rename filename to line up with autoload, and follow convention commit 28fdba42a2b4cc2279d4337aff339d1091064b7d Author: Aman Gupta <aman@tmm1.net> Date: Sun Mar 15 23:13:30 2009 -0700 Add EM.kqueue= and EM.epoll= commit bb05a9c81907425b3e29a783a015afcbd05d2489 Author: Aman Gupta <aman@tmm1.net> Date: Sun Mar 15 16:43:30 2009 -0700 Allow setting EM.threadpool_size commit f042ecee6a4a7ad76e9173ebf4a3554bdcb428ba Author: Aman Gupta <aman@tmm1.net> Date: Sun Mar 15 16:36:00 2009 -0700 Move FileNotFoundException into em/connection.rb commit 6a96d7e405a9603fa6cd953b81d79638c9087f3b Author: Aman Gupta <aman@tmm1.net> Date: Sun Mar 15 16:34:53 2009 -0700 Fix some more spacing issues, and remove deprecated EM.run_without_threads commit 38533772d0ee5611d9e560c6915e709f41f3ee57 Author: Aman Gupta <aman@tmm1.net> Date: Sun Mar 15 16:27:56 2009 -0700 Updated EchoServer example from README commit db8763d434a2b09296264f0bf7e865e4dc653987 Author: Aman Gupta <aman@tmm1.net> Date: Sun Mar 15 16:19:16 2009 -0700 Add IRC info to README commit cafba2a3fe5235d3802120c32acf0bec693826ef Author: Aman Gupta <aman@tmm1.net> Date: Sun Mar 15 16:06:43 2009 -0700 Clean up deferrable.rb: fixed rdoc, alias method wrappers, remove unnecessary forwardable commit 702f031904e981e2c5d3a5f142eae93b558d5c50 Author: Aman Gupta <aman@tmm1.net> Date: Sun Mar 15 15:31:37 2009 -0700 Updated gemspec commit 81b6cfa658a0369ec8261258e757500412ae013e Author: Aman Gupta <aman@tmm1.net> Date: Sun Mar 15 15:19:55 2009 -0700 RDoc for reconnect methods commit 1a50af61cb0b103ca3d4b0ed3cbde77787b0e9d9 Author: Aman Gupta <aman@tmm1.net> Date: Sun Mar 15 15:16:17 2009 -0700 Move eventmachine_version to em/version.rb commit 91fdc2505ba84103beb10da1b16c26edea102937 Author: Aman Gupta <aman@tmm1.net> Date: Sun Mar 15 15:11:11 2009 -0700 Split out EM::Connection into em/connection.rb commit ae7cf7c37d6bb78eddb0d36b60d94436124460aa Author: Aman Gupta <aman@tmm1.net> Date: Sun Mar 15 14:52:06 2009 -0700 Add ObjectProtocol commit 9ecc1876dcea1ac82600092dfeaee3307246b176 Author: Aman Gupta <aman@tmm1.net> Date: Sun Mar 15 14:50:40 2009 -0700 Split out eventmachine.rb into em/protocols.rb and em/timers.rb commit dc58c30bcfec79508ade1988c864b85a80360d3a Author: Aman Gupta <aman@tmm1.net> Date: Sun Mar 15 14:43:44 2009 -0700 Convert tabs in lib/em/*.rb commit dac738fac6b8fffe4653b5ad27e30ff05a185724 Author: Aman Gupta <aman@tmm1.net> Date: Sun Mar 15 14:42:28 2009 -0700 Standardize eventmachine.rb with 2 space tabs and def self.method() commit 710ad93c6832819e4f5836c3a42aa71f84e6d545 Author: Aman Gupta <aman@tmm1.net> Date: Sun Mar 15 14:35:10 2009 -0700 FileStreamer: add rdoc and convert tabs to spaces commit 8c235ac9a1e9c631842bb1aeb394a96b2776a811 Author: Aman Gupta <aman@tmm1.net> Date: Sun Mar 15 14:34:11 2009 -0700 stomp protocol: add rdoc and convert tabs to spaces commit 3acc188d8067bce3066d73de4ff2d4635142990e Author: Aman Gupta <aman@tmm1.net> Date: Sat Mar 14 14:45:22 2009 -0600 Move protocols into em/protocols commit 12ff7759dbca4c02b4163596d62690c4a8864d54 Author: Aman Gupta <aman@tmm1.net> Date: Sat Mar 14 14:32:33 2009 -0600 Documentation overhaul commit 5a736a350f767b201013de81391c64d64530642b Author: Aman Gupta <aman@tmm1.net> Date: Sat Mar 14 14:27:47 2009 -0600 Pass response back to HttpClient2 request callbacks commit db371780b12353519f707a2e29360198724a1032 Author: Aman Gupta <aman@tmm1.net> Date: Fri Mar 13 17:10:05 2009 -0600 Set non-blocking mode on attached sockets commit de5e5a18885530db905935e1f57b3682752961a3 Author: Aman Gupta <aman@tmm1.net> Date: Sun Mar 8 21:15:19 2009 -0700 Version bump, 0.12.7 for repo builds