@@ -29,7 +29,9 @@ ErrorCode Communication::startConnection()
2929}
3030
3131// Sends a message sync
32- ErrorCode Communication::sendMessage (void *data, size_t dataSize, uint32_t destID, uint32_t srcID, bool isBroadcast)
32+ ErrorCode Communication::sendMessage (void *data, size_t dataSize, uint32_t destID,
33+ uint32_t srcID,
34+ MessageType messageType)
3335{
3436 if (dataSize == 0 )
3537 return ErrorCode::INVALID_DATA_SIZE;
@@ -40,10 +42,9 @@ ErrorCode Communication::sendMessage(void *data, size_t dataSize, uint32_t destI
4042 if (!client.isConnected ())
4143 return ErrorCode::CONNECTION_FAILED;
4244
43- Message msg (srcID, data, dataSize, isBroadcast, destID);
44-
45+ Message msg (srcID, destID, data, dataSize,messageType); // Create a new message
4546 // Sending the message to logger
46- RealSocket::log.logMessage (logger::LogLevel::INFO,std::to_string (srcID),std::to_string (destID)," Complete message:" + msg.getPackets ().at (0 ).pointerToHex (data, dataSize ));
47+ RealSocket::log.logMessage (logger::LogLevel::INFO,std::to_string (srcID),std::to_string (destID)," Complete message:" + msg.getPackets ().at (0 ).pointerToHex ());
4748
4849 for (auto &packet : msg.getPackets ()) {
4950 ErrorCode res = client.sendPacket (packet);
@@ -55,14 +56,16 @@ ErrorCode Communication::sendMessage(void *data, size_t dataSize, uint32_t destI
5556}
5657
5758// Sends a message Async
58- void Communication::sendMessageAsync (void *data, size_t dataSize, uint32_t destID, uint32_t srcID, std::function<void (ErrorCode)> sendCallback, bool isBroadcast)
59+ void Communication::sendMessageAsync (void *data, size_t dataSize, uint32_t destID,
60+ uint32_t srcID,
61+ std::function<void (ErrorCode)> sendCallback,
62+ MessageType messageType)
5963{
6064 std::promise<ErrorCode> resultPromise;
6165 std::future<ErrorCode> resultFuture = resultPromise.get_future ();
6266
63- std::thread ([this , data, dataSize, destID, srcID, isBroadcast, &resultPromise]() {
64- ErrorCode res = this ->sendMessage (data, dataSize, destID, srcID, isBroadcast);
65- resultPromise.set_value (res);
67+ std::thread ([this , data, dataSize, destID, srcID, messageType, sendCallback,&resultPromise]() {
68+ ErrorCode result = this ->sendMessage (data, dataSize, destID, srcID, messageType); // Send the message resultPromise.set_value(res);
6669 }).detach ();
6770
6871 ErrorCode res = resultFuture.get ();
@@ -83,13 +86,13 @@ void Communication::receivePacket(Packet &p)
8386// Checks if the packet is intended for him
8487bool Communication::checkDestId (Packet &p)
8588{
86- return p.header . isBroadcast || p.header . DestID == this ->id ;
89+ return p.getIsBroadcast () || p.getDestId () == this ->id ;
8790}
8891
8992// Checks if the data is currect
9093bool Communication::validCRC (Packet &p)
9194{
92- return p.header . CRC == p. calculateCRC (p. data , p. header . DLC );
95+ return p.validateCRC ( );
9396}
9497
9598// Receives the packet and adds it to the message
@@ -117,21 +120,21 @@ Packet Communication::hadArrived()
117120// Adding the packet to the complete message
118121void Communication::addPacketToMessage (Packet &p)
119122{
120- std::string messageId = std::to_string (p.header . ID );
123+ std::string messageId = std::to_string (p.getId () );
121124 // If the message already exists, we will add the packet
122125 if (receivedMessages.find (messageId) != receivedMessages.end ()) {
123126 receivedMessages[messageId].addPacket (p);
124127 } else {
125128 // If the message does not exist, we will create a new message
126- Message msg (p.header . TPS );
129+ Message msg (p.getTPS () );
127130 msg.addPacket (p);
128131 receivedMessages[messageId] = msg;
129132 }
130133
131134 // If the message is complete, we pass the data to the passData function
132135 if (receivedMessages[messageId].isComplete ()) {
133136 void *completeData = receivedMessages[messageId].completeData ();
134- passData (p.header . SrcID , completeData);
137+ passData (p.getSrcId () , completeData);
135138 receivedMessages.erase (messageId); // Removing the message once completed
136139 }
137140}
0 commit comments