Commit 5ccaf91f authored by Andrei Paskevich's avatar Andrei Paskevich

src/server/README.server: remove '//' at the beginning of lines

parent 92dd9a78
// This is a VC server for Why3. It implements the following functionalities: This is a VC server for Why3. It implements the following functionalities:
// * wait for connections on a unix domain socket (unix) or named pipe * wait for connections on a unix domain socket (unix) or named pipe
// (windows) for clients (windows) for clients
// * clients can send requests for a process to spawn, including * clients can send requests for a process to spawn, including
// timeout/memory limit timeout/memory limit
// * server will send back a filename containing the output of the process, * server will send back a filename containing the output of the process,
// as well as the time taken and the exit code as well as the time taken and the exit code
//
// Command line options Command line options
// ==================== ====================
//
// -j <n> the maximum number of processes to spawn in parallel -j <n> the maximum number of processes to spawn in parallel
// --socket the name of the socket or named pipe --socket the name of the socket or named pipe
//
// Protocol Protocol
// ========= =========
//
// A client request is a single line which looks like this: A client request is a single line which looks like this:
//
// id;timeout;memlimit;cmd;arg1;arg2;...;argn id;timeout;memlimit;cmd;arg1;arg2;...;argn
//
// All items are separated by semicolons, and must not contain semicolons All items are separated by semicolons, and must not contain semicolons
// themselves (but may contain spaces). Their meaning is the following: themselves (but may contain spaces). Their meaning is the following:
// id - a (ideally) unique identifier which identifies the request id - a (ideally) unique identifier which identifies the request
// timeout - the allowed CPU time in seconds for this command; timeout - the allowed CPU time in seconds for this command;
// this must be number, 0 for unlimited this must be number, 0 for unlimited
// memlimit - the allowed consumed memory for this command memlimit - the allowed consumed memory for this command
// this must be number, 0 for unlimited this must be number, 0 for unlimited
// cmd - the name of the executable to run cmd - the name of the executable to run
// arg(i) - the commandline arguments of the command to run arg(i) - the commandline arguments of the command to run
//
// A server answer looks like this: A server answer looks like this:
//
// id;exitcode;time;timeout;file id;exitcode;time;timeout;file
//
// Their meaning is the following: Their meaning is the following:
// id - the identifier of the request to which this answer belongs id - the identifier of the request to which this answer belongs
// exitcode - the exitcode of the executed program exitcode - the exitcode of the executed program
// time - the time taken by the executed program time - the time taken by the executed program
// timeout - 0 for regular exit or crash, 1 for program interrupt through timeout - 0 for regular exit or crash, 1 for program interrupt through
// timeout timeout
// file - the path to a file which contains the stdout and stderr of the file - the path to a file which contains the stdout and stderr of the
// executed program executed program
//
// There are two separate implementations on linux and windows, but both are There are two separate implementations on linux and windows, but both are
// very similar in structure and share some code (but should share much more). very similar in structure and share some code (but should share much more).
// They are both essentially a single-threaded event loop, where the possible They are both essentially a single-threaded event loop, where the possible
// events are incoming clients, read/write operations on sockets, and events are incoming clients, read/write operations on sockets, and
// terminating child processes. Lists of child processes and connected clients terminating child processes. Lists of child processes and connected clients
// are maintained. are maintained.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment