yahns.git  about / heads / tags
sleepy, multi-threaded, non-blocking application server for Ruby
blob eca23986827e58b67ce185de50372c1c689e5e35 637 bytes (raw)
$ git show maint: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
21
 
# Copyright (C) 2013-2016 all contributors <yahns-public@yhbt.net>
# License: GPL-3.0+ (https://www.gnu.org/licenses/gpl-3.0.txt)
# frozen_string_literal: true

# 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