-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTODO.txt
40 lines (31 loc) · 2.02 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Process execution:
1->parse_redis_protocol(char *command);
## This function takes the entire command as a Redis protocol: Example: *2\r\n$4\r\nECHO\r\n$3\r\nhey\r\n
|:: Will get the number of elements in the request ^
|:: Will get the type of the command(*1) |
V |
2->parse_command_args(number_of_elements-1, command, &index); |
## This function simple take the command after the point of the type of the command , then will get the rest of the arguments on an array
|:: Take the arguments of a command and put them into an array(*2)
V
3->parse_response(args, command_type)
## This function will take the arguments(2), and the type of the command(*1) and then will implement the actual logic
1.# Add the expier feature to set and get. (DONE)
1.1: Alter the command parser
1.2: Alter the arguments and response parser
1.3: Alter the data structure, when another request of get,
2.# ADD the TYPE command (DONE)
3.# Add the ability for redis streams, and the XADD command
1.1: Create an array of keys, each pointing to the start of a "Radix Tree combined with Listpack" Data structure (DONE)
1.2: Implement the "Radix Tree combined with Listpack" (DONE)
1.3: Edit the interface + The 'Type' Command (DONE)
1.4: Add id checking, and proper functionality (DONE)
1.5: Add automatic sequence generator (DONE)
1.6: ADD automatic ID generator (DONE)
4.# Add XRANGE command (DONE)
4.1: Support the - command (Done)
4.2: Support the + command (Done)
5.# Add the Xadd command (DONE)
5.1 Support multiple streams
3.# refactor the code, (NEED A LOT OF REFACTORING FOR PERFORMANCE AND READABILITY REASONS),
so it supports proper error messages, better handling of commands, slicing up my functions into smaller ones.