Module: TcpServer
- Defined in:
- lib/tcp_server/config.rb,
lib/tcp_server/server.rb,
lib/tcp_server/version.rb,
lib/tcp_server/listenable.rb,
lib/tcp_server/channelizer.rb,
lib/tcp_server/demo_listener.rb,
lib/tcp_server/default_handler.rb,
lib/tcp_server/message_handler.rb,
lib/tcp_server/modular_handler.rb,
lib/tcp_server/arguments_parser.rb,
lib/tcp_server/instance_methods.rb
Overview
The TcpServer module
Defined Under Namespace
Modules: DefaultHandler, InstanceMethods, Listenable Classes: ArgumentsParser, Channelizer, Demo, MessageHandler, ModularHandler, Server
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 =
Delimiters.lineDelimiter
- DEFAULT_LOG_REQUESTS =
false- DEFAULT_QUIT_COMMANDS =
%i[ bye cease desist exit leave quit stop terminate ].freeze
- VERSION =
'1.4.1'.freeze
Class Method Summary collapse
-
.server_config ⇒ Object
rubocop: disable Metrics/MethodLength.
Instance Method Summary collapse
-
#main(args = parse_arguments) ⇒ Object
class Server.
-
#parse_arguments(arguments_parser = TcpServer::ArgumentsParser.new) ⇒ Object
class ArgumentsParser.
Class Method Details
.server_config ⇒ Object
rubocop: disable Metrics/MethodLength
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/tcp_server/config.rb', line 38 def server_config @server_config ||= { app_name: 'tcp_server', 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
class Server
44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/tcp_server/server.rb', line 44 def main(args = parse_arguments) Logging.log_level = args[:log_level] demo_handler = TcpServer::Demo.new(args) TcpServer::Server.new(args, demo_handler).run rescue Interrupt => e warn format("\r%<class>s", class: e.class) exit rescue StandardError => e TcpServer::Server.log.fatal(e) e.backtrace.each { |t| TcpServer.log.fatal t } exit 1 end |
#parse_arguments(arguments_parser = TcpServer::ArgumentsParser.new) ⇒ Object
class ArgumentsParser
97 98 99 100 101 102 103 |
# File 'lib/tcp_server/arguments_parser.rb', line 97 def parse_arguments(arguments_parser = TcpServer::ArgumentsParser.new) arguments_parser.parser.parse!(ARGV) arguments_parser. rescue OptionParser::InvalidArgument, OptionParser::InvalidOption, OptionParser::AmbiguousOption => e abort e. end |