X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;f=src%2Fserver%2Fio.h;h=7c9148dba55a415c2e61c296b7ae9ef62dff4e51;hb=c89e7df6e7b6b64037b5b964e10a63ad38f86eb5;hp=0e04d80edc44db702b83a24afcdaaf8b2fe1f1b6;hpb=1452d43c6d7c89219cda91362da53ac8e4acb887;p=plomrogue
diff --git a/src/server/io.h b/src/server/io.h
index 0e04d80..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,24 +14,15 @@
/* 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();
-/* Write to savefile god commands (one per line) to rebuild the current world
- * state.
+/* Write to savefile (atomically) god commands (one per line) to rebuild the
+ * current world state.
*/
extern void save_world();