Class: Crossover::Server

Inherits:
GServer
  • Object
show all
Defined in:
lib/crossover/server.rb

Instance Method Summary collapse

Constructor Details

#initialize(port, host = '127.0.0.1', max_connections = 10, stdlog = $stdout, audit = true, debug = false) ⇒ Server

Returns a new instance of Server.



15
16
17
18
19
20
# File 'lib/crossover/server.rb', line 15

def initialize(port, host='127.0.0.1', max_connections = 10, stdlog = $stdout, audit = true, debug = false  )
  if stdlog != $stdout
    @logger = Logger.new(File.expand_path(stdlog) )
  end
  super(port, host, max_connections, $stdout, audit, debug )
end

Instance Method Details

#log(message) ⇒ Object



34
35
36
37
38
39
40
41
42
43
# File 'lib/crossover/server.rb', line 34

def log message
  if @stdlog
    @stdlog.puts("[#{Time.new.ctime}] %s" % message)
    @stdlog.flush
  end

  if @logger
    @logger.info message
  end
end

#serve(io) ⇒ Object



22
23
24
25
26
27
# File 'lib/crossover/server.rb', line 22

def serve(io)
  data = io.read(1024)
  log "client:#{io.peeraddr[1]} #{io.peeraddr[2]}<#{io.peeraddr[3]}> post #{data.bytesize} bytes\n#{data}"
  puts ""
  io.puts('Bye!')
end

#stoppingObject



29
30
31
32
# File 'lib/crossover/server.rb', line 29

def stopping
  log("#{self.class.to_s} #{@host}:#{@port} stop")
  @logger.close
end