This repository was archived by the owner on Jul 27, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
mini-redis outline proposal #17
Copy link
Copy link
Open
Description
Client
Along with the hello-world guide there should be a guide with the pubsub example, to give the user an idea on how the interaction with the server works on the client side
Server
- Start with
TcpListener, explainingacceptandspawninga new task for each connection. - Implement
Connectionstruct, describe theread_frameprocess andFrameconversion, introduceBytescrate - Implement
Commandstruct andfrom_framemethod explaining theFrametoCommandparsing - Add
GETvariant toCommandand implementapplymethod introducing the internalDband explaining the decisions behind it's implementation: why it's anArc<Mutex>, theStateandEntrystruct's - implement
GET'swrite_frameand describe the process of writing aCommandback to aFrameand writing it on the socket - Add
SETvariant toCommandenum, the flow is similar toGET, but has the key expiration logic. Guide through it's implementation with tokio'sDurationandNotify - Add
PUBvariant toCommandand implement theDbpubsub behavior bringing up tokio'sBroadcaststruct - Add
SUBvariant toCommand, and implement the graceful shutdown notification logic ofServer - Implement the client connection limit handling on the
Server. - Introduce
tokio-tracingand instrument the code
Metadata
Metadata
Assignees
Labels
No labels