base function of indicators work again
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
#include <sys/socket.h>
|
||||
#include <vector>
|
||||
|
||||
#include "helper/string.hpp"
|
||||
#include "helpers/string.hpp"
|
||||
|
||||
class SocketHelper {
|
||||
typedef struct SocketMessage {
|
||||
@@ -18,6 +18,7 @@ class SocketHelper {
|
||||
static std::vector<SocketMessage> parseSocketMessage(int socketFd, const std::string &delimiter) {
|
||||
char buffer[4096];
|
||||
std::string data;
|
||||
|
||||
ssize_t bytesRead = recv(socketFd, buffer, sizeof(buffer) - 1, 0);
|
||||
if (bytesRead > 0) {
|
||||
buffer[bytesRead] = '\0';
|
||||
@@ -34,17 +35,15 @@ class SocketHelper {
|
||||
assert(false && "Delimiter not found in socket message");
|
||||
}
|
||||
|
||||
auto splitMessages = StringHelper::split(data, '\n');
|
||||
auto splitMessages = StringHelper::split(data, '\n');
|
||||
auto splitMessagesFinal = std::vector<SocketMessage>();
|
||||
for (auto splitMessage : splitMessages) {
|
||||
|
||||
|
||||
SocketMessage message;
|
||||
auto messageCommandVector = StringHelper::split(splitMessage, ">>");
|
||||
|
||||
message.eventType = messageCommandVector[0];
|
||||
message.eventData = messageCommandVector.size() > 1 ? messageCommandVector[1] : "";
|
||||
splitMessagesFinal.push_back(message);
|
||||
SocketMessage message;
|
||||
auto messageCommandVector = StringHelper::split(splitMessage, delimiter);
|
||||
|
||||
message.eventType = messageCommandVector[0];
|
||||
message.eventData = messageCommandVector.size() > 1 ? messageCommandVector[1] : "";
|
||||
splitMessagesFinal.push_back(message);
|
||||
}
|
||||
|
||||
return splitMessagesFinal;
|
||||
|
||||
Reference in New Issue
Block a user