X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=src%2Fserver%2Fio.h;h=7c9148dba55a415c2e61c296b7ae9ef62dff4e51;hb=2906acb0d93705435ce737285ead26fd015e20be;hp=82117538c4bd2a87b877b777fba21db58120eedb;hpb=1bfcaf6f47bb2eb06c071e39b6f93c92a15d4de6;p=plomrogue diff --git a/src/server/io.h b/src/server/io.h index 8211753..7c9148d 100644 --- a/src/server/io.h +++ b/src/server/io.h @@ -1,4 +1,8 @@ /* io.h + * + * This file is part of PlomRogue. PlomRogue is licensed under the GPL version 3 + * or any later version. For details on its copyright, license, and warranties, + * see the file NOTICE in the root directory of the PlomRogue source package. * * Communication of the server with the outside world and its client via input, * output and world state files. @@ -10,19 +14,10 @@ /* Return single \0-terminated string read from input queue (world.queue); or, - * if queue is empty and world.turn is unequal world.last_update_turn, update - * world state file (and world.last_update_turn) and write a single dot line to - * server out file, then read server in file for the next load of bytes to put - * onto the input queue. - * - * Reading the server in file may put many \0-terminated strings on the queue at - * once. Successive calls of io_round() will make these available one by one. - * Each such call cuts off bytes from the beginning of world.queue, up to and - * including the last \0 byte that is followed by a non-\0 byte or ends the - * queue. If the queue starts with a \0 byte, it and its \0 followers are cut - * and a NULL pointer is returned. Reading from the input file stops only when - * one or more byte were read and the next read returns 0 bytes. If the - * re-filled queue does not end in a \0 byte, a \0 byte is appended to it. + * if queue is empty and world.do_update is set, update world state file (and + * unset world.do_update) and write a single dot line to server out file, then + * read server in file for the next load of bytes to put onto the input queue. + * (Queueing ensures only complete messages are interpreted.) */ extern char * io_round();