1 Use the first letter of your name to indicate you are in the middle of
7 /----- Server, implemented in ttt-server
8 / /---- Client, implemented in ttt
12 ✓ 1.2. Global commands
19 1.3. Game management commands
28 2. Asynchronous notification.
30 ✓ 2.1.1. NOTICE USER <username>
31 ✓ 2.1.2. NOTICE QUIT <username>
32 ✓ 2.1.3. Game Invitation
33 ✓ 2.1.3.1. NOTICE INVITE <username1> <username2>
34 ✓ 2.1.3.2. NOTICE ACCEPT <username2> <username1>
35 ✓ 2.1.3.3. NOTICE RETRACT <username1> <username2>
36 ✓ 2.1.3.4. NOTICE DECLINE <username2> <username1>
37 2.1.4. NOTICE NEWGAME <game> <username> <username>
38 2.1.5. NOTICE DISPOSE <game>
39 ✓ 2.1.6. NOTICE MESSAGE <username> <text>
41 2.2.1. Global game notices
42 2.2.1.1. NOTICE GAMEOVER <game> <outcome> <username>
44 2.2.2.1. NOTICE MOVE <game> <username> <number>
46 ✓ 3.1. Connection setup errors
47 ✓ 3.1.1. ERROR NO_NAME_SET
48 ✓ 3.1.2. ERROR INVALID_NAME
49 3.2. Command format errors
50 ✓ 3.2.1. ERROR COMMAND
52 3.2.3. ERROR NOT_NUMBER
54 3.3. Global command errors.
55 3.4. Game management errors.
56 ✓ 3.4.1. ERROR NO_INVITE
58 ✓ 3.5. User information errors
59 ✓ 3.5.1. ERROR NO_USER
61 3.6.1. Global game errors
62 3.6.1.1. ERROR NOT_PLAYING
64 3.6.2.1. ERROR NOT_YOUR_TURN
65 3.6.2.2. ERROR NOT_VALID_MOVE
69 Server log messages should include pid date and time. And server
70 should log the fact when it gets terminated by a signal.