816: def listener(options={},&blk)
817: raise "Cannot call listener inside another listener block." if (@listener or @listener_name)
818: ops = resolve_defaults(options)
819: ops[:num_processors] ||= 950
820: ops[:timeout] ||= 0
821:
822: @listener = Mongrel::HttpServer.new(ops[:host], ops[:port].to_i, ops[:num_processors].to_i, ops[:timeout].to_i)
823: @listener_name = "#{ops[:host]}:#{ops[:port]}"
824: @listeners[@listener_name] = @listener
825:
826:
827: if blk
828: cloaker(&blk).bind(self).call
829: end
830:
831:
832: @listener = nil
833: @listener_name = nil
834: end