Module: Server
- Defined in:
- lib/server.rb,
lib/demo_listener.rb,
lib/server/config.rb,
lib/server/server.rb,
lib/server/version.rb,
lib/server/listenable.rb,
lib/server/shutdown_hook.rb,
lib/server/argument_parser.rb,
lib/server/default_handler.rb,
lib/server/message_handler.rb,
lib/server/modular_handler.rb,
lib/server/instance_methods.rb,
lib/server/channel_initializer.rb
Overview
The Server module
Defined Under Namespace
Modules: DefaultHandler, InstanceMethods, Listenable Classes: ArgumentsParser, ChannelInitializer, Demo, MessageHandler, ModularHandler, Server, ShutdownHook
Constant Summary collapse
- DEFAULT_LOG_LEVEL =
Logger::INFO
- DEFAULT_HOST =
'0.0.0.0'.freeze
- DEFAULT_PORT =
8080
- DEFAULT_SSL_ENABLED =
false
- DEFAULT_IDLE_READING_SECONDS =
seconds
5 * 60
- DEFAULT_IDLE_WRITING_SECONDS =
seconds
30
- DEFAULT_KEEP_ALIVE =
false
- DEFAULT_MAX_QUEUED_INCOMING_CONNECTIONS =
100
- DEFAULT_MAX_FRAME_LENGTH =
8192
- DEFAULT_DELIMITER =
Java::io.netty.handler.codec.Delimiters.lineDelimiter
- DEFAULT_LOG_REQUESTS =
false
- DEFAULT_QUIT_COMMANDS =
%i[ bye cease desist exit leave quit stop terminate ].freeze
- VERSION =
'1.2.0'.freeze
Class Method Summary collapse
-
.server_config ⇒ Object
rubocop: disable Metrics/MethodLength.
Instance Method Summary collapse
- #main(args = parse_arguments) ⇒ Object
-
#parse_arguments(arguments_parser = ::Server::ArgumentsParser.new) ⇒ Object
class ArgumentsParser.
Class Method Details
.server_config ⇒ Object
rubocop: disable Metrics/MethodLength
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/server/config.rb', line 36 def server_config @server_config ||= { host: DEFAULT_HOST, port: DEFAULT_PORT, ssl: DEFAULT_SSL_ENABLED, idle_reading: DEFAULT_IDLE_READING_SECONDS, idle_writing: DEFAULT_IDLE_WRITING_SECONDS, max_queued_incoming_connections: DEFAULT_MAX_QUEUED_INCOMING_CONNECTIONS, log_requests: DEFAULT_LOG_REQUESTS, log_level: DEFAULT_LOG_LEVEL, max_frame_length: DEFAULT_MAX_FRAME_LENGTH, keep_alive: DEFAULT_KEEP_ALIVE, delimiter: DEFAULT_DELIMITER, quit_commands: DEFAULT_QUIT_COMMANDS }.freeze end |
Instance Method Details
#main(args = parse_arguments) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/server.rb', line 22 def main(args = parse_arguments) Logging.log_level = args[:log_level] demo_handler = ::Server::Demo.new(args) ::Server::Server.new(args, demo_handler).run rescue Interrupt => e warn format("\r%<class>s", class: e.class) exit rescue StandardError => e ::Server.log.fatal(e) e.backtrace.each { |t| ::Server.log.fatal t } exit 1 end |
#parse_arguments(arguments_parser = ::Server::ArgumentsParser.new) ⇒ Object
class ArgumentsParser
97 98 99 100 101 102 103 |
# File 'lib/server/argument_parser.rb', line 97 def parse_arguments(arguments_parser = ::Server::ArgumentsParser.new) arguments_parser.parser.parse!(ARGV) arguments_parser. rescue OptionParser::InvalidArgument, OptionParser::InvalidOption, OptionParser::AmbiguousOption => e abort e. end |