+
Point of view
All features
deferred class SERVER [C_ -> CONNECTION]
Summary
A standard server. Abstracts out most of the nitty-gritty.
Direct parents
Insert list: ANY
Known children
Insert list: HTTP_SERVER
Overview
Features
Access
{ANY}
Implementation
{}
start (a_access: ACCESS)
effective procedure
{ANY}
Launch a Current using the given a_access point.
start_in_stack (a_access: ACCESS, a_stack: LOOP_STACK, a_shutdown_handler: PROCEDURE[TUPLE[TUPLE 1[SERVER [C_ -> CONNECTION]]]]): BOOLEAN
effective function
{ANY}
Assing a_shutdown_handler as shutdown_handler and start Current using a_access in the given a_stack.
True if Current effectively started. Note that is function is not pure (has side effects on Current)
ensure
set_logger (a_logger: PROCEDURE[TUPLE 1[ABSTRACT_STRING]])
effective procedure
{ANY}
Assign logger with the value of a_logger
ensure
log (a_message: ABSTRACT_STRING)
effective procedure
{ANY}
Write a_message in the logger, if any.
writable attribute
{}
Used to log message
standalone_handler_agent: PROCEDURE[TUPLE[TUPLE 1[SERVER [C_ -> CONNECTION]]]]
effective function
{}
An Agent to be use to launch standalone_shutdown
common_start (a_access: ACCESS): BOOLEAN
effective function
{}
Start Current using a_access.
handle_error (a_error_message: STRING)
deferred procedure
{}
What to do when there was an error with message a_error_message
new_connection: C_
deferred function
{}
Create a new connection
stack: LOOP_STACK
writable attribute
{}
Used to loop between connections
server_job: SOCKET_SERVER_JOB
writable attribute
{}
A job use in Current
connections: INTEGER_32
writable attribute
{}
The number of {CONNECTION} in Current
shutdown_handler: PROCEDURE[TUPLE[TUPLE 1[SERVER [C_ -> CONNECTION]]]]
writable attribute
{}
Agent launched when Current is shutdowning
handle_connect (a_io: SOCKET_INPUT_OUTPUT_STREAM)
effective procedure
{}
Handle a connection to the Current.
This feature is called back by the server_job when a connection attempted (see the when_connect feature of SOCKET_SERVER)
handle_shutdown (a_server_job: SOCKET_SERVER_JOB)
effective procedure
{}
Shutdown gracefully when all connections are closed.
This feature is called back by the server_job (or a_server_job) when it is asked to shut down (see the when_shutdown feature of SOCKET_SERVER)
require
standalone_shutdown (a_server: SERVER [C_ -> CONNECTION])
effective procedure
{}
Force Current to shutdown.
require
  • a_server = Current