* Replace `structopt` with `clap`
* Change `port` options from `String` to `u16`
* Shorten clap options config
`name` and `long` use the filed name by default.
This introduces all the necessary code to be able to send traces to
AWS Xray via `tracing-opentelemetry`. It can be optionally enabled
using the `xray` feature defined on this crate.
Also update the README.md with instructions on how to enable and use
this.
The `read_frame` function was fairly big. This splits up the function
into a separate `parse_frame` function. This should help with breaking
up the concept of framing into smaller chunks.
mini-redis uses the CLI derive pattern. Clap does not yet have a release
supporting this pattern. Using structopt allows mini-redis to avoid git
dependencies.
- fix client unsubscribe when subscribe list in the event of the
received unsubscribe list is in a different order than subscribed
- add tests for subscribe and unsubscribe commands
- add tests for unknown command handling
* 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
Handle accept errors using an exponential backoff strategy. Also uses a
semaphore to limit the max number connections.
Adds inline documentation and comments.
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.