Module: Sanford::Server::InstanceMethods

Defined in:
lib/sanford/server.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#dat_tcp_serverObject (readonly)

Returns the value of attribute dat_tcp_server.



26
27
28
# File 'lib/sanford/server.rb', line 26

def dat_tcp_server
  @dat_tcp_server
end

#server_dataObject (readonly)

Returns the value of attribute server_data.



26
27
28
# File 'lib/sanford/server.rb', line 26

def server_data
  @server_data
end

Instance Method Details

#client_file_descriptorsObject



53
54
55
# File 'lib/sanford/server.rb', line 53

def client_file_descriptors
  @dat_tcp_server.client_file_descriptors
end

#configured_ipObject



57
58
59
# File 'lib/sanford/server.rb', line 57

def configured_ip
  @server_data.ip
end

#configured_portObject



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

def configured_port
  @server_data.port
end

#file_descriptorObject



49
50
51
# File 'lib/sanford/server.rb', line 49

def file_descriptor
  @dat_tcp_server.file_descriptor
end

#halt(*args) ⇒ Object



100
101
102
# File 'lib/sanford/server.rb', line 100

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

#initializeObject



28
29
30
31
32
33
34
35
# File 'lib/sanford/server.rb', line 28

def initialize
  self.class.configuration.validate!
  @server_data = ServerData.new(self.class.configuration.to_hash)
  @dat_tcp_server = DatTCP::Server.new{ |socket| serve(socket) }
rescue InvalidError => exception
  exception.set_backtrace(caller)
  raise exception
end

#ipObject



41
42
43
# File 'lib/sanford/server.rb', line 41

def ip
  @dat_tcp_server.ip
end

#listen(*args) ⇒ Object



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

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
end

#loggerObject



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

def logger
  @server_data.logger
end

#nameObject



37
38
39
# File 'lib/sanford/server.rb', line 37

def name
  @server_data.name
end

#pause(*args) ⇒ Object



92
93
94
# File 'lib/sanford/server.rb', line 92

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

#paused?Boolean

Returns:

  • (Boolean)


104
105
106
# File 'lib/sanford/server.rb', line 104

def paused?
  @dat_tcp_server.listening? && !@dat_tcp_server.running?
end

#pid_fileObject



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

def pid_file
  @server_data.pid_file
end

#portObject



45
46
47
# File 'lib/sanford/server.rb', line 45

def port
  @dat_tcp_server.port
end

#routerObject



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

def router
  @server_data.router
end

#start(*args) ⇒ Object



88
89
90
# File 'lib/sanford/server.rb', line 88

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

#stop(*args) ⇒ Object



96
97
98
# File 'lib/sanford/server.rb', line 96

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

#template_sourceObject



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

def template_source
  @server_data.template_source
end