20 lines
913 B
Markdown
20 lines
913 B
Markdown
|
# A C++ Gemini server
|
||
|
## Introduction
|
||
|
As I saw other implementations in Rust but no C++ to compete, I felt that I had to do something ;-).
|
||
|
It is also a chance for me and a friend (Brumaire) to practice C++ and to try to get as much performance as possible (my speciality is HPC so… Yeah).
|
||
|
|
||
|
## Design
|
||
|
I use PlantUML to do the class diagram for the design. It's a work in progress.
|
||
|
|
||
|
## Goal
|
||
|
What we want is a high performance server using asynchrony within the threads (multi-threading) to have the maximum possible performance.
|
||
|
Also a feature of caching content is a must.
|
||
|
|
||
|
## Configuration
|
||
|
**WIP**
|
||
|
The configuration of the server is made through a JSON file `config.json`. The JSON parser is [simdjson](https://github.com/simdjson/simdjson) directly integrated
|
||
|
in our source code.
|
||
|
|
||
|
## Documentation
|
||
|
The doc of the code is made with [doxygen](https://www.doxygen.nl/), the `Doxyfile` is at the root of the repo.
|