X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=src%2Fclient%2Fio.h;h=072a2174de0ea07077b3cc2809be2f741bdf540d;hb=04ae91b82c603f0928d94a94df3a322a7af8b971;hp=784c681e359ad27687db2bb3cf69e37b2b9cb79f;hpb=0b7798939c0193fd794985b503737e40d8602313;p=plomrogue diff --git a/src/client/io.h b/src/client/io.h index 784c681..072a217 100644 --- a/src/client/io.h +++ b/src/client/io.h @@ -9,19 +9,24 @@ -/* Try sending "msg" to the server by writing it to the file at - * world.path_server_in. Try to open it 2^16 times before giving up. After - * opening, try to write to it 2^16 times before giving up. +/* Write "msg" plus newline to server input file at world.path_server_in. + * + * "msg" must fit into size defined by PIPE_BUF so that no race conditiosn + * arise by many clients writing to the file in parallel. */ -extern void try_send(char * msg); - -/* Keep checking for user input and a changed server out file. Update client's - * world representation on out 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. - * Also call reset_windows() on receiving a SIGWINCH. +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. + * + * 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. */ extern char * io_loop();