def initialize(request_handler, options = {})
@request_handler = request_handler
@server_socket = Utils.require_option(options, :server_socket)
@socket_name = Utils.require_option(options, :socket_name)
@protocol = Utils.require_option(options, :protocol)
@app_group_name = Utils.require_option(options, :app_group_name)
Utils.install_options_as_ivars(self, options,
:app,
:union_station_core,
:connect_password
)
@stats_mutex = Mutex.new
@interruptable = false
@iteration = 0
if @protocol == :session
metaclass = class << self; self; end
metaclass.class_eval do
alias parse_request parse_session_request
end
elsif @protocol == :http
metaclass = class << self; self; end
metaclass.class_eval do
alias parse_request parse_http_request
end
else
raise ArgumentError, "Unknown protocol specified"
end
end