/
smychkov
/
SStorage
Обзор
Документация
Войти
/
smychkov
/
SStorage
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/server/server.cpp
38 строк
1 KB
Андрей Смычков
feat: HTTP + gRPC servers with new key-value API
25 апр 2026, 09:21
25 апр 2026, 09:21
1c6add8
Код
Авторство
О чём код?
#include "server.hpp" #include "http_handler.hpp" #include "grpc_handler.hpp" #include "../core/database.hpp" namespace sstorage { Server::Server(Database& db, uint16_t httpPort, uint16_t grpcPort, const std::string& mode) : db_(db), httpPort_(httpPort), grpcPort_(grpcPort), mode_(mode), httpHandler_(std::make_unique<HttpHandler>(db, httpPort)), grpcHandler_(std::make_unique<GrpcHandler>(db, grpcPort)) { } Server::~Server() { stop(); } bool Server::start() { bool ok = true; if (mode_ == "http" || mode_ == "both") { ok = httpHandler_->start() && ok; } if (mode_ == "grpc" || mode_ == "both") { ok = grpcHandler_->start() && ok; } return ok; } void Server::stop() { if (httpHandler_ && httpHandler_->isRunning()) httpHandler_->stop(); if (grpcHandler_ && grpcHandler_->isRunning()) grpcHandler_->stop(); } bool Server::isHttpRunning() const { return httpHandler_ && httpHandler_->isRunning(); } bool Server::isGrpcRunning() const { return grpcHandler_ && grpcHandler_->isRunning(); } }