Module: Sanford::Server::InstanceMethods

Defined in:
lib/sanford/server.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#server_dataObject (readonly)

Returns the value of attribute server_data.



23
24
25
# File 'lib/sanford/server.rb', line 23

def server_data
  @server_data
end

Instance Method Details

#client_file_descriptorsObject



74
75
76
# File 'lib/sanford/server.rb', line 74

def client_file_descriptors
  @dat_tcp_server.client_file_descriptors
end

#configured_ipObject



82
83
84
# File 'lib/sanford/server.rb', line 82

def configured_ip
  @server_data.ip
end

#configured_portObject



86
87
88
# File 'lib/sanford/server.rb', line 86

def configured_port
  @server_data.port
end

#file_descriptorObject



70
71
72
# File 'lib/sanford/server.rb', line 70

def file_descriptor
  @dat_tcp_server.file_descriptor
end

#halt(*args) ⇒ Object



131
132
133
# File 'lib/sanford/server.rb', line 131

def halt(*args)
  @dat_tcp_server.halt(*args)
end

#initializeObject



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/sanford/server.rb', line 25

def initialize
  config = self.class.config
  begin
    config.validate!
  rescue InvalidError => exception
    exception.set_backtrace(caller)
    raise exception
  end

  @server_data = ServerData.new({
    :name                => config.name,
    :ip                  => config.ip,
    :port                => config.port,
    :pid_file            => config.pid_file,
    :shutdown_timeout    => config.shutdown_timeout,
    :worker_class        => config.worker_class,
    :worker_params       => config.worker_params,
    :num_workers         => config.num_workers,
    :error_procs         => config.error_procs,
    :template_source     => config.template_source,
    :logger              => config.logger,
    :router              => config.router,
    :receives_keep_alive => config.receives_keep_alive,
    :verbose_logging     => config.verbose_logging,
    :routes              => config.routes
  })

  @dat_tcp_server = DatTCP::Server.new(self.server_data.worker_class, {
    :num_workers      => self.server_data.num_workers,
    :logger           => self.server_data.dtcp_logger,
    :shutdown_timeout => self.server_data.shutdown_timeout,
    :worker_params    => self.server_data.worker_params.merge({
      :sanford_server_data => self.server_data
    })
  })
end

#ipObject



62
63
64
# File 'lib/sanford/server.rb', line 62

def ip
  @dat_tcp_server.ip
end

#listen(*args) ⇒ Object



110
111
112
113
114
115
116
117
# File 'lib/sanford/server.rb', line 110

def listen(*args)
  args = [@server_data.ip, @server_data.port] if args.empty?
  @dat_tcp_server.listen(*args) do |server_socket|
    configure_tcp_server(server_socket)
  end
  @server_data.ip   = self.ip
  @server_data.port = self.port
end

#listening?Boolean

Returns:

  • (Boolean)


135
136
137
# File 'lib/sanford/server.rb', line 135

def listening?
  @dat_tcp_server.listening?
end

#loggerObject



98
99
100
# File 'lib/sanford/server.rb', line 98

def logger
  @server_data.logger
end

#nameObject



78
79
80
# File 'lib/sanford/server.rb', line 78

def name
  @server_data.name
end

#pause(*args) ⇒ Object



123
124
125
# File 'lib/sanford/server.rb', line 123

def pause(*args)
  @dat_tcp_server.pause(*args)
end

#paused?Boolean

Returns:

  • (Boolean)


143
144
145
# File 'lib/sanford/server.rb', line 143

def paused?
  self.listening? && !self.running?
end

#pid_fileObject



94
95
96
# File 'lib/sanford/server.rb', line 94

def pid_file
  @server_data.pid_file
end

#portObject



66
67
68
# File 'lib/sanford/server.rb', line 66

def port
  @dat_tcp_server.port
end

#process_labelObject



90
91
92
# File 'lib/sanford/server.rb', line 90

def process_label
  @server_data.process_label
end

#routerObject



102
103
104
# File 'lib/sanford/server.rb', line 102

def router
  @server_data.router
end

#running?Boolean

Returns:

  • (Boolean)


139
140
141
# File 'lib/sanford/server.rb', line 139

def running?
  @dat_tcp_server.running?
end

#start(*args) ⇒ Object



119
120
121
# File 'lib/sanford/server.rb', line 119

def start(*args)
  @dat_tcp_server.start(*args)
end

#stop(*args) ⇒ Object



127
128
129
# File 'lib/sanford/server.rb', line 127

def stop(*args)
  @dat_tcp_server.stop(*args)
end

#template_sourceObject



106
107
108
# File 'lib/sanford/server.rb', line 106

def template_source
  @server_data.template_source
end