X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=src%2Fclient%2Fio.h;h=041ed67fdb5732b5815f220ef037f5952afa6d4c;hb=258e57c1621533e206610453047d829cc8aa13fe;hp=4db04cf2594753769161b6881ad082a0ca13c0d9;hpb=d12efb0addf420adc045cfb96647dff6241310ee;p=plomrogue diff --git a/src/client/io.h b/src/client/io.h index 4db04cf..041ed67 100644 --- a/src/client/io.h +++ b/src/client/io.h @@ -1,4 +1,8 @@ /* src/client/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 client with the server (by reading and writing files) * and the user (by writing to the screen and reading keypresses). @@ -16,16 +20,20 @@ */ extern void send(char * msg); -/* Keep checking for user input, a changed worldstate file and the server's - * wakefulness. Update client's world representation on worldstate file changes. - * Manipulate the client and send commands to server based on the user input as - * interpreted by the control.h library. +/* Keep checking for user input, a changed worldstate file, and queue input from + * the server's out file. Update client's world representation on worldstate + * file changes. Manipulate the client and send commands to server based on the + * user input as interpreted by the control.h library. * * On each change / activity, re-draw the windows with draw_all_wins(). When the * loop ends regularly (due to the user sending a quit command), return an * appropriate quit message to write to stdout when the client winds down. Call * reset_windows() on receiving a SIGWINCH. Abort on assumed server death if the - * server's out file does not get updated, even on PING requests. + * server's out file does not get updated, even on PING requests. Re-focus map + * view on player if world.autofocus is set. Messages from the out file are put + * together on the queue first, from which only complete (\n-delimited) messages + * are read. Queues of messages are worked through completely / emptied before + * any re-drawing or further server polling happens. */ extern char * io_loop();