Sha256: 772487e34425a52b307baac9b9e02c48e626e0dab4b3393fa3f2ff2e22e8741a

Contents?: true

Size: 1.33 KB

Versions: 3

Compression:

Stored size: 1.33 KB

Contents

# code:
# * George Moschovitis  <gm@navel.gr>
#
# (c) 2004 Navel, all rights reserved.
# $Id: appserver.rb 167 2004-11-23 14:03:10Z gmosx $

require "drb"

require "nitro/application"
require "nitro/server"
require "nitro/server/session"

module N

# = ServerMixin
#
# Usefull application server related methods.
#
module AppServerMixin

	def initialize_app
	
		if $drb_state
			# Cluster mode: use distributed Ruby objects.
			$lm = N::Cluster::Slm.new($drb_lm_server, "druby://:8000")
			$sessions = DRbObject.new(nil, $drb_sessions_cluster)
		else
			# NoCluster mode: use standard Ruby onjects.
			$lm = G::SafeHash.new
			$sessions = N::SessionManager.new
		end

		# initialize app
		initialize_sitemap() 
		initialize_shaders()
		initialize_events()		
	end
	
	def initialize_sitemap
	end
	
	def initialize_shaders
	end
	
	def initialize_events
	end
end

# = AppServer
#
# The Application Server. Handles dynamic requests in a web application.
# Dont keepalive (or use a VERY SMALL keepalive). Typically this server
# is used along with a standars http server that handles other resources.
#
class AppServer < N::Server
	include N::AppServerMixin
	
	def initialize(name = "AppServer")
		super
		initialize_app()
		
		$log.info "Web Server listening at #$srv_url"
		$log.info "App Server listening at http://#$appsrv_address:#$appsrv_port"
	end
end

end # module

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
nitro-0.5.0 lib/nitro/server/appserver.rb
nitro-0.6.0 lib/nitro/server/appserver.rb
nitro-0.7.0 lib/nitro/server/appserver.rb