X-Git-Url: https://git.cworth.org/git?p=ttt;a=blobdiff_plain;f=TODO;h=f9cc2260c2e0263d58ca761311a162437f00bf90;hp=c55f890e370dfd677ff61cb5380f3f89a0b146d0;hb=54c540ee6df71b5e39f4ff63d90b55e595a9209f;hpb=f7ebfb444c9b58e01c861431c762a32b14af1f99 diff --git a/TODO b/TODO index c55f890..f9cc226 100644 --- 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. +Protocol pieces +--------------- + /----- 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.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.1. INVITE +✓ 1.3.1. INVITE 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 @@ -23,33 +29,46 @@ S C 2.1. Global notices ✓ 2.1.1. NOTICE USER ✓ 2.1.2. NOTICE QUIT - 2.1.3. NOTICE INVITE - 2.1.4. NOTICE DISPOSE - 2.1.5. NOTICE MESSAGE +✓ 2.1.3. Game Invitation +✓ 2.1.3.1. NOTICE INVITE +✓ 2.1.3.2. NOTICE ACCEPT +✓ 2.1.3.3. NOTICE RETRACT +✓ 2.1.3.4. NOTICE DECLINE + 2.1.4. NOTICE NEWGAME + 2.1.5. NOTICE DISPOSE +✓ 2.1.6. NOTICE MESSAGE 2.2. Game notices 2.2.1. Global game notices - 2.2.1.1. NOTICE NEWGAME - 2.2.1.2. NOTICE GAMEOVER + 2.2.1.1. NOTICE GAMEOVER 2.2.2. Move notices - 2.2.2.1. NOTICE MOVE + 2.2.2.1. NOTICE MOVE 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.1. ERROR COMMAND +✓ 3.2.1. ERROR COMMAND ✓ 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.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.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.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.