Go to file
2021-01-24 22:47:21 +01:00
include Integration of simdjson 2021-01-24 21:05:11 +01:00
src Integration of simdjson 2021-01-24 21:05:11 +01:00
.gitignore init 2021-01-07 21:01:47 +01:00
class_diagram.puml Integration of the features/TODO 2021-01-24 22:47:21 +01:00
CMakeLists.txt Integration of simdjson 2021-01-24 21:05:11 +01:00
config.json Integration of simdjson 2021-01-24 21:05:11 +01:00
Doxyfile The doxyfile is generated. Feel free to change it to your needs. 2021-01-24 20:57:25 +01:00
main.cpp init 2021-01-07 21:01:47 +01:00
README.md Integration of the features/TODO 2021-01-24 22:47:21 +01:00

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 at first, and then maybe multi-threading to have the maximum possible performance.

Configuration

WIP The configuration of the server is made through a JSON file config.json. The JSON parser is simdjson directly integrated in our source code.

Documentation

The doc of the code is made with doxygen, the Doxyfile is at the root of the repo.

TODO/features

  • Possibility of an applicative gateway (like CGI for example)
  • Content in RAM cache
  • Asynchronous (boost ASIO deals with it)