Sha256: 9461d6e2b6eabb6844007db2192de4201ef818eafd9ea9d12218b3b2f0a5f699

Contents?: true

Size: 704 Bytes

Versions: 1

Compression:

Stored size: 704 Bytes

Contents

$:.unshift(File.dirname(__FILE__) + '/../lib')

require "rubygems"
require "eventmachine"
require "fiber"

require "em-synchrony/em-multi"
# require "em-synchrony/iterator" # iterators are not release in EM yet
require "em-synchrony/connection_pool"

require "em-synchrony/em-http"
require "em-synchrony/em-mysql"
require "em-synchrony/em-remcached"

module EventMachine

  # A convenience method for wrapping EM.run body within
  # a Ruby Fiber such that async operations can be transparently
  # paused and resumed based on IO scheduling.
  def self.synchrony(blk=nil, tail=nil, &block)
    blk ||= block
    context = Proc.new { Fiber.new { blk.call }.resume }

    self.run(context, tail)
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
em-synchrony-0.1.4 lib/em-synchrony.rb