]> git.cworth.org Git - ttt/blobdiff - TODO
2006-01-14 Carl Worth <cworth@cworth.org>
[ttt] / TODO
diff --git a/TODO b/TODO
index c55f890e370dfd677ff61cb5380f3f89a0b146d0..f9cc2260c2e0263d58ca761311a162437f00bf90 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,20 +1,26 @@
 Use the first letter of your name to indicate you are in the middle of
 working on something.
 
 Use the first letter of your name to indicate you are in the middle of
 working on something.
 
+Protocol pieces
+---------------
+
   /----- Server, implemented in ttt-server
  / /---- Client, implemented in ttt
 S C
     1. Requests
   /----- Server, implemented in ttt-server
  / /---- Client, implemented in ttt
 S C
     1. Requests
-✓   1.1 HELO
-    1.2. Global commands
+✓   1.1. HELO
+   1.2. Global commands
 ✓   1.2.1. WHO
 ✓   1.2.1. WHO
-✓   1.2.2. MESSAGE
-    1.2.3. HELP
-✓   1.2.4. QUIT
-    1.2.5. VERSION
+✓   1.2.2. STATISTICS
+✓   1.2.3. MESSAGE
+✓   1.2.4. HELP
+✓   1.2.5. QUIT
+✓   1.2.6. VERSION
     1.3. Game management commands
     1.3. Game management commands
-    1.3.1. INVITE
+   1.3.1. INVITE
     1.3.2. ACCEPT
     1.3.2. ACCEPT
+✓   1.3.3. RETRACT
+✓   1.3.4. DECLINE
     1.4. In-game commands
     1.4.1. SHOW
     1.4.2. PART
     1.4. In-game commands
     1.4.1. SHOW
     1.4.2. PART
@@ -23,33 +29,46 @@ S C
     2.1. Global notices
 ✓   2.1.1. NOTICE USER <username>
 ✓   2.1.2. NOTICE QUIT <username>
     2.1. Global notices
 ✓   2.1.1. NOTICE USER <username>
 ✓   2.1.2. NOTICE QUIT <username>
-    2.1.3. NOTICE INVITE <username>
-    2.1.4. NOTICE DISPOSE <game>
-    2.1.5. NOTICE MESSAGE <username> <text>
+✓   2.1.3. Game Invitation
+✓   2.1.3.1. NOTICE INVITE <username1> <username2>
+✓   2.1.3.2. NOTICE ACCEPT <username2> <username1>
+✓   2.1.3.3. NOTICE RETRACT <username1> <username2>
+✓   2.1.3.4. NOTICE DECLINE <username2> <username1>
+    2.1.4. NOTICE NEWGAME <game> <username> <username>
+    2.1.5. NOTICE DISPOSE <game>
+✓   2.1.6. NOTICE MESSAGE <username> <text>
     2.2. Game notices
     2.2.1. Global game notices
     2.2. Game notices
     2.2.1. Global game notices
-    2.2.1.1. NOTICE NEWGAME <username> <username>
-    2.2.1.2. NOTICE GAMEOVER <outcome> <username>
+    2.2.1.1. NOTICE GAMEOVER <game> <outcome> <username>
     2.2.2. Move notices
     2.2.2. Move notices
-    2.2.2.1. NOTICE MOVE <username> <number>
+    2.2.2.1. NOTICE MOVE <game> <username> <number>
     3. Errors
     3. Errors
-    3.1. Connection setup errors
-    3.1.1. ERROR NONAMESET
-✓   3.1.2. ERROR INVALIDNAME
+   3.1. Connection setup errors
+✓   3.1.1. ERROR NO_NAME_SET
+✓   3.1.2. ERROR INVALID_NAME
     3.2. Command format errors
     3.2. Command format errors
-    3.2.1. ERROR COMMAND
+   3.2.1. ERROR COMMAND
 ✓   3.2.2. ERROR SYNTAX
 ✓   3.2.2. ERROR SYNTAX
-    3.2.3. ERROR NOTNUMBER
-    3.2.4. ERROR NOTGRID
+    3.2.3. ERROR NOT_NUMBER
+    3.2.4. ERROR NOT_GRID
     3.3. Global command errors.
     3.4. Game management errors.
     3.3. Global command errors.
     3.4. Game management errors.
-    3.4.1. ERROR NOGAME
-    3.5. User information errors
-    3.5.1. ERROR NOUSER
+✓   3.4.1. ERROR NO_INVITE
+    3.4.2. ERROR NO_GAME
+✓   3.5. User information errors
+✓   3.5.1. ERROR NO_USER
     3.6. In-game errors
     3.6.1. Global game errors
     3.6. In-game errors
     3.6.1. Global game errors
-    3.6.1.1. ERROR NOTINGAME
-    3.6.1.2. ERROR NOTPLAYING
+    3.6.1.1. ERROR NOT_PLAYING
     3.6.2. Moving errors 
     3.6.2. Moving errors 
-    3.6.2.1. ERROR NOTYOURTURN
+    3.6.2.1. ERROR NOT_YOUR_TURN
+    3.6.2.2. ERROR NOT_VALID_MOVE
+
+Other bits
+----------
+Server log messages should include pid date and time. And server
+should log the fact when it gets terminated by a signal.
+
+Server should wait and retry a couple of times if its port is not
+available, rather than just giving up.