Class BasicServer

Summary


  A basic server class, ideas from cved

Package:
(main)
File:
genserve.icn
Methods:
add_socket, login, open_listener_TCP, process_input, remove_socket, run, server_socket, server_version, shutdown

Fields:
Tsocket_drivers, fileHandler, logger, port, server_name, socket_list

Source code.

Details
Constructor

BasicServer(port, server_name, Tsocket_drivers, socket_list, logger, fileHandler)

Parameters:
port
one port for now. Some future servers may need to listen to several ports.
server_name
text name of the server. Default: Unicon Server
Tsocket_drivers
socket to SocketDriver objects
socket_list
logger
Logger object
fileHandler
fileTransfer object ? to be added

Methods:

add_socket(sock, user, typ)


 add sock to the list of open connections


login(driver)


 login -- authenticate the connection.
 Not all servers require "real" login. Those servers that
 do so need to override this method with proper login

 @param driver the driver object associated with this login


open_listener_TCP(p)

#
  Starts listening on a specific port for TCP requests
  open up network to listen for connections until server is shut down
  @param p   the port to listen to. Default is the class variable port


process_input(driver, buffer)


remove_socket(sock)

#
 close connection to sock and remove it with its driver
@param sock socket to be removed


run()

#
 run forever


server_socket(p)

#
 open a listner socket at port p
 @param p port to use


server_version()


shutdown()


 shutdown: gracefully shuts down the server.


Fields:
Tsocket_drivers -- socket to SocketDriver objects

fileHandler -- fileTransfer object ? to be added

logger -- Logger object

port -- one port for now. Some future servers may need to listen to several ports.

server_name -- text name of the server. Default: Unicon Server

socket_list


This page produced by UniDoc on 2021/04/15 @ 23:59:53.