mirror of
https://git.rwth-aachen.de/acs/public/villas/node/
synced 2025-03-09 00:00:00 +01:00
dumper: add binary socket and enable length and datatype for the socket com
This commit is contained in:
parent
c49ee5b21c
commit
54536ee627
2 changed files with 28 additions and 2 deletions
|
@ -46,7 +46,8 @@ public:
|
|||
int openSocket();
|
||||
int closeSocket();
|
||||
|
||||
void writeData(unsigned len, double *yData, double *xData = nullptr);
|
||||
void writeDataCSV(unsigned len, double *yData, double *xData = nullptr);
|
||||
void writeDataBinary(unsigned len, double *yData, double *xData = nullptr);
|
||||
};
|
||||
|
||||
} /* namespace node */
|
||||
|
|
|
@ -74,7 +74,32 @@ int Dumper::closeSocket()
|
|||
return 0;
|
||||
}
|
||||
|
||||
void Dumper::writeData(unsigned len, double *yData, double *xData)
|
||||
void Dumper::writeDataBinary(unsigned len, double *yData, double *xData){
|
||||
|
||||
if (yData == nullptr)
|
||||
return;
|
||||
|
||||
unsigned dataLen = len * sizeof(yData[0]);
|
||||
long unsigned int bytesWritten = write(socketFd, &dataLen, sizeof(dataLen));
|
||||
if(bytesWritten != sizeof(len)) {
|
||||
logger->warn("Could not send all content to socket {}", socketName);
|
||||
warningCounter++;
|
||||
}
|
||||
|
||||
bytesWritten = write(socketFd, "d000", 4);
|
||||
if(bytesWritten != 4) {
|
||||
logger->warn("Could not send all content to socket {}", socketName);
|
||||
warningCounter++;
|
||||
}
|
||||
|
||||
bytesWritten = write(socketFd, yData, dataLen );
|
||||
if (bytesWritten != dataLen && (!supressRepeatedWarning || warningCounter <1 )) {
|
||||
logger->warn("Could not send all content to socket {}", socketName);
|
||||
warningCounter++;
|
||||
}
|
||||
}
|
||||
|
||||
void Dumper::writeDataCSV(unsigned len, double *yData, double *xData)
|
||||
{
|
||||
for (unsigned i = 0; i<len; i++) {
|
||||
std::stringstream ss;
|
||||
|
|
Loading…
Add table
Reference in a new issue