service: refactor server architecture

Converts services to have their own processes
This commit is contained in:
Liam
2023-02-18 16:26:48 -05:00
parent 23151ff498
commit a936972614
140 changed files with 1388 additions and 1138 deletions

View File

@ -4,6 +4,7 @@
#pragma once
#include <memory>
#include <mutex>
#include <string>
#include <unordered_map>
@ -50,9 +51,6 @@ private:
class ServiceManager {
public:
static Kernel::KClientPort& InterfaceFactory(ServiceManager& self, Core::System& system);
static void SessionHandler(ServiceManager& self, Kernel::KServerPort* server_port);
explicit ServiceManager(Kernel::KernelCore& kernel_);
~ServiceManager();
@ -78,6 +76,7 @@ private:
std::unique_ptr<Controller> controller_interface;
/// Map of registered services, retrieved using GetServicePort.
std::mutex lock;
std::unordered_map<std::string, Kernel::SessionRequestHandlerPtr> registered_services;
std::unordered_map<std::string, Kernel::KPort*> service_ports;
@ -85,4 +84,7 @@ private:
Kernel::KernelCore& kernel;
};
/// Runs SM services.
void LoopProcess(Core::System& system);
} // namespace Service::SM