working commit

This commit is contained in:
2026-04-27 13:57:49 +02:00
parent ac88dbd051
commit 0c647ec97c
7 changed files with 106 additions and 65 deletions
+2 -60
View File
@@ -20,66 +20,8 @@ extern "C" {
using namespace std::chrono_literals;
void SocketHandler::Handle(int sock) {
std::cout << std::format("Handler {} start", sock) << std::endl;
const int headerSize = 8;
std::string rawResHeader;
char buffer[headerSize];
memset(&buffer, 0, headerSize);
int rsize = 0;
if ((rsize = read(sock, &buffer, headerSize)) < 0) {
logger.Log("Error read");
close(sock);
return;
}
logger.Log(std::format("rpc rsize {}", rsize));
RPCHeader inRPCHeader;
std::string i(buffer, headerSize);
inRPCHeader.Decode(i);
int rcpPacketSize = inRPCHeader.PacketSize();
logger.Log(std::format("rpc packet size {}", rcpPacketSize));
char buffer2[rcpPacketSize];
if ((rsize = read(sock, &buffer2, rcpPacketSize)) < 0) {
logger.Log("Error read");
close(sock);
return;
}
logger.Log(std::format("rpc packet rsize {}", rsize));
std::string rawReq(buffer2, rcpPacketSize);
control::HelloRequest pbReq;
pbReq.ParseFromString(rawReq);
logger.Log(std::format("rpcName: {}", pbReq.meta().rpcname()));
logger.Log(std::format("req message: {}\n", pbReq.message()));
control::HelloResult pbRes;
pbRes.set_message("Johnny!");
auto resMeta = pbRes.mutable_meta();
resMeta->set_error(false);
std::string rawRes;
pbRes.SerializeToString(&rawRes);
RPCHeader outRPCHeader(rawRes.size());
auto rawPacket = outRPCHeader.Encode();
rawPacket.append(rawRes);
int wsize = 0;
if ((wsize = write(sock, rawPacket.data(), rawPacket.size())) < 0) {
logger.Log("Error write");
close(sock);
return;
}
logger.Log(std::format("Handler {} done", sock));
close(sock);
}
void SocketHandler::Handle(int sock) {};
SocketHandler::~SocketHandler(void) {};
Service::Service(int svcport) {
port = svcport;