Commit Graph

53 Commits

Author SHA1 Message Date
Ting Sun
151a653e69 rm unused var 2023-03-23 09:18:25 -07:00
Ting Sun
999b570f09 rm extra space 2023-03-23 09:18:25 -07:00
Ting Sun
017a0df61f too many 'shutdown' can be ambiguous 2023-03-23 09:18:25 -07:00
Kim Chan
c1c3bcb465 implement client ping (#108) 2022-08-25 11:10:32 +02:00
Kim Chan
d3826795af docs: fix typos (#109) 2022-08-22 19:47:13 +02:00
Paul Lange
069a8e5ee0 Replace structopt with clap (#98)
* Replace `structopt` with `clap`

* Change `port` options from `String` to `u16`

* Shorten clap options config

`name` and `long` use the filed name by default.
2022-07-19 09:34:12 -07:00
shomitarai
8c714114f2 fix tiny typo in server.rs (#103)
Co-authored-by: Sho Mitarai <shomitarai@mitaraiakiranoMacBook-Pro.local>
2022-06-22 08:27:35 +02:00
Vilgot Fredenberg
cf1e4e465e refactor: use OwnedSemaphore for connection limiting (#100) 2022-05-29 12:27:39 +02:00
Bryan Garza
25062cd238 chore: remove duplicate cfg line and comment (#99) 2022-05-25 18:02:53 +02:00
Bryan Garza
6cd697afe9 Add (optional) OpenTelemetry + Xray integration (#95) (#96)
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.
2022-05-18 09:13:19 -07:00
Tony-X
4b4ecf0310 Remove unused import (#92) 2022-02-09 10:18:40 +01:00
Liang Zheng
ca1b5b16bd add pub/sub cli (#91)
Signed-off-by: Liang Zheng <zhengliang0901@gmail.com>
2022-01-30 10:41:18 +01:00
tison
6513e5226c support PING command for easy testing (#90)
Signed-off-by: tison <wander4096@gmail.com>
2022-01-23 15:27:30 +01:00
Jamie
ebe4e1f331 Fix race condition in shutdown of background task (#81) 2021-07-13 14:27:34 +02:00
Alice Ryhl
0b3b0ff883 Add blocking client (#77) 2021-07-06 12:46:57 -07:00
Ricardo Galli
c3bc304ac9 Fix expiration and upppercase check (#72) 2021-01-04 18:52:35 +01:00
Alice Ryhl
31e3a7db42 Update write_decimal max string length (#73) 2021-01-03 12:36:55 +01:00
Carl Lerche
0fb264826d chore: update to Tokio 1.0 (#70) 2020-12-23 09:41:23 -08:00
Alice Ryhl
8ecd82107e Remove note about AsyncBufRead (#68) 2020-10-24 14:42:24 -07:00
Carl Lerche
77df32d15e Track Tokio v0.3 changes (#67) 2020-10-22 20:18:54 -07:00
Raphael Megzari
b552f53c3f fix typo (#64) 2020-09-28 11:07:20 +02:00
Carl Lerche
16be963908 make more types public (#59) 2020-07-15 14:21:17 -07:00
Carl Lerche
b7bab20d0c Split Connection::read_frame for readability (#58)
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.
2020-06-24 10:57:57 -07:00
João Oliveira
98e712ac96 add a specific Command enum to buffer.rs (#57) 2020-06-21 17:55:15 +02:00
Carl Lerche
1cb8ec9b0f rename pool to buffer (#56) 2020-06-12 19:38:27 -07:00
Carl Lerche
03f8281431 make more APIs public (#55) 2020-06-12 15:15:51 -07:00
Alice Ryhl
f1042d6b7c simplify Subscribe::apply (#54) 2020-06-11 20:39:15 -07:00
Evan Cameron
0991ee25b2 Add explicit notify_sender drop (#45) 2020-06-11 13:43:24 -07:00
João Oliveira
c0bcee4300 add initial connection pool (#53) 2020-06-11 13:43:02 -07:00
João Oliveira
dc8993b56b fix typo on Set command apply function: Get should be Set (#52) 2020-05-27 09:19:35 -07:00
Alice Ryhl
58e816e36e fix broken sentence (#51) 2020-05-20 15:24:25 -05:00
avinassh
4c9ef8b31f fix typos (#50) 2020-05-20 21:58:16 +02:00
Taiki Endo
4c9edec0b1 Remove unnecessary allocations (#49) 2020-05-19 13:37:02 -07:00
guanqun
bbaa16c6f5 typo fix (#48) 2020-05-18 11:25:04 -05:00
Carl Lerche
fdba12b964 use structopt instead of Clap (#41)
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.
2020-05-12 16:48:16 -07:00
Carl Lerche
81888e36b5 fmt (#34) 2020-04-15 09:47:28 -07:00
Carl Lerche
ecf1eb4ea8 More comments and tweak details (#33)
Co-authored-by: Alice Ryhl <alice@ryhl.io>
2020-04-15 09:44:12 -07:00
Carl Lerche
5752d1e0fc mostly docs, some code tweaks as well (#31)
Db background tasks never shutdown o_O
2020-04-13 21:02:32 -07:00
Carl Lerche
b0edd092f4 write conn comments (#29)
Co-Authored-By: Alice Ryhl <alice@ryhl.io>
2020-04-13 12:49:19 -07:00
Carl Lerche
d4f0dac671 add server pub/sub tests, fix pub/sub response (#27)
mini-redis server responses on PUB/SUB commands did not match real
redis.
2020-04-06 16:34:12 -07:00
João Oliveira
922919a9d4 add unknown commands handling without breaking client connection (#26)
- 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
2020-04-06 13:27:58 -07:00
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