yahns.git  about / heads / tags
sleepy, multi-threaded, non-blocking application server for Ruby
blob dde72bfca57b16b73e32ab26c9c353304752f91d 623 bytes (raw)
$ git show v0.0.1:lib/yahns/queue_egg.rb	# shows this blob on the CLI

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
 
# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
# License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)

# this represents a Yahns::Queue before its vivified.  This only
# lives in the parent process and should be clobbered after qc_vivify
class Yahns::QueueEgg # :nodoc:
  attr_accessor :max_events, :worker_threads

  def initialize
    @max_events = 1 # 1 is good if worker_threads > 1
    @worker_threads = 7 # any default is wrong for most apps...
  end

  # only call after forking
  def vivify(fdmap)
    queue = Yahns::Queue.new
    queue.fdmap = fdmap
    queue
  end
end

git clone git://yhbt.net/yahns.git
git clone https://yhbt.net/yahns.git