Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tinyresp

Build Status codecov Crates.io docs.rs

A tiny Rust library implementing the Redis Serialization Protocol (RESP)

A simple parser for the RESP protocol (REdis Serialization Protocol).

For an overview of the procol check out the official Redis SErialization Protocol (RESP) documentation

This library is written using nom and therefore uses an incremental parsing approach. This means that using the [parse] method will return a Result containing a tuple with 2 elements:

  • The remaining input (which can be an empty string if the message was fully parsed)
  • The parsed value (if the message was fully parsed)

Example

use tinyresp::{parse_value, Value};

let message = "*2\r\n$5\r\nhello\r\n$5\r\nworld\r\n";
let (remaining_input, value) = parse_value(message).unwrap();
assert_eq!(remaining_input, "");
assert_eq!(value, Value::Array(vec![
    Value::BulkString("hello"),
    Value::BulkString("world")
]));

Contributing

Everyone is very welcome to contribute to this project. You can contribute just by submitting bugs or suggesting improvements by opening an issue on GitHub.

License

Licensed under MIT License. © Luciano Mammino, Roberto Gambuzzi.

About

A tiny Rust library implementing the Redis Serialization Protocol (RESP)

Resources

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages