home · contact · privacy
Server: Restructure io_loop(), and make obey_msg() handle meta commands.
[plomrogue] / src / client / io.h
index 33fc671ec6fd8f9ea749012b73d4e9a84a9b6517..36d04c6fb7633785538d6d0d6761265b7ef27d8f 100644 (file)
  */
 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. Re-focus map
- * view on player if world.focus_each_turn is set.
+ * view on player if world.focus_each_turn 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();