Skip to content

Commit b3a1d9f

Browse files
committed
Add design goals section to README
1 parent 5c18f32 commit b3a1d9f

1 file changed

Lines changed: 10 additions & 1 deletion

File tree

README.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,16 @@
1616
[**Integration**](#Integration) |
1717
[**License**](#License)
1818

19-
A header-only C++20 bencode serialization/deserialization library.
19+
A header-only C++20 bencode serialization/deserialization library. Inspired by toa
20+
21+
## Design goals
22+
* **Feature-rich**. The main goal of this library is to provide a complete bencode library that
23+
provides solutions for all common use cases.
24+
* **Security**. Parsing arbitrary user data can be dangerous and you do not want your bittorrent tracker
25+
to crash when a user sends malformed data. All parsers are recursion-free to protect against
26+
stack-based buffer overflow attacks.
27+
* **Speed**. While not the primary goal of this project we have optimized integer parsing with
28+
SWAR operations for fast integer decoding, the most performance critical part of bencode decoding.
2029

2130
## Features
2231

0 commit comments

Comments
 (0)