Commit Graph

12 Commits

Author SHA1 Message Date
João Oliveira
e7f6a372f0 add initial client tests (#25) 2020-04-05 20:57:45 -07:00
João Oliveira
83cdedf34f fix startup panic by raising shutdown channel buffer to 1 (#24) 2020-04-05 13:17:51 -07:00
João Oliveira
3fbd9ddc42 add pub sub client implementation with examples (#22)
* add pub sub client implementation with examples

* replace subscribed_channels list Vec with HashSet to avoid duplicates

* update Subscriber to use async-stream instead of manual Stream impl

* revert update to error handling server.rs, as #21 handles it

* remove uneeded recursion limit extension
2020-04-05 18:33:21 +01:00
Carl Lerche
f187085156 Improve accept logic (#21)
Handle accept errors using an exponential backoff strategy. Also uses a
semaphore to limit the max number connections.

Adds inline documentation and comments.
2020-04-05 10:24:49 -07:00
Carl Lerche
4ac69aeb76 write server test (#19) 2020-04-03 12:21:39 -07:00
Carl Lerche
bbb80c341e apply client/cli polish (#15)
Continuation of #11. Refines the client structure and implements GET.

`clap` is decoupled from the lib code. This is done to avoid any CLI
parsing concerns to leak into the lib. The main motivation for this is
to allow the reader to focus on Tokio concerns and not CLI parsing
concerns.
2020-04-01 16:09:41 -07:00
Avery Harnish
7bd7086d41 implement client set (#11) 2020-03-28 14:00:47 -07:00
Carl Lerche
fc5597f293 server: implement key expiration (#13) 2020-03-25 13:45:54 -07:00
Avery Harnish
2b6b19ebc3 feat: adds trace events to server 2020-03-03 17:14:18 -06:00
Avery Harnish
80511f2cb5 add cli for server/client (#4)
This PR adds a CLI to main.rs that allows you to run the redis server and eventually the redis client.
2020-03-03 09:15:20 -08:00
Avery Harnish
9852de9924 runs cargofmt (#3) 2020-02-11 13:27:49 -08:00
Carl Lerche
358e95e57c Initial commit 2020-02-05 09:56:25 -08:00