mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-12 21:07:13 +02:00
WIP
This commit is contained in:
@ -62,19 +62,19 @@ int ClientSocket::sendCommandThenRead(int fnum, const void *args,
|
||||
size_t args_size, void *retval,
|
||||
size_t retval_size) {
|
||||
int ret = slsDetectorDefs::FAIL;
|
||||
sendData(&fnum, sizeof(fnum));
|
||||
sendData(args, args_size);
|
||||
Send(&fnum, sizeof(fnum));
|
||||
Send(args, args_size);
|
||||
readReply(ret, retval, retval_size);
|
||||
return ret;
|
||||
}
|
||||
|
||||
void ClientSocket::readReply(int &ret, void *retval, size_t retval_size) {
|
||||
|
||||
read(&ret, sizeof(ret));
|
||||
Receive(&ret, sizeof(ret));
|
||||
if (ret == slsDetectorDefs::FAIL) {
|
||||
char mess[MAX_STR_LENGTH]{};
|
||||
// get error message
|
||||
read(mess, sizeof(mess));
|
||||
Receive(mess, sizeof(mess));
|
||||
// Do we need to know hostname here?
|
||||
// In that case save it???
|
||||
if (socketType == "Receiver") {
|
||||
@ -86,7 +86,7 @@ void ClientSocket::readReply(int &ret, void *retval, size_t retval_size) {
|
||||
}
|
||||
}
|
||||
// get retval
|
||||
read(retval, retval_size);
|
||||
Receive(retval, retval_size);
|
||||
}
|
||||
|
||||
}; // namespace sls
|
||||
|
@ -42,9 +42,8 @@ DataSocket &DataSocket::operator=(DataSocket &&move) noexcept {
|
||||
return *this;
|
||||
}
|
||||
|
||||
int DataSocket::receiveData(void *buffer, size_t size) {
|
||||
int DataSocket::Receive(void *buffer, size_t size) {
|
||||
// TODO!(Erik) Add sleep? how many reties?
|
||||
assert(size > 0);
|
||||
int bytes_expected = static_cast<int>(size); // signed size
|
||||
int bytes_read = 0;
|
||||
while (bytes_read < bytes_expected) {
|
||||
@ -65,7 +64,7 @@ int DataSocket::receiveData(void *buffer, size_t size) {
|
||||
}
|
||||
}
|
||||
|
||||
int DataSocket::sendData(const void *buffer, size_t size) {
|
||||
int DataSocket::Send(const void *buffer, size_t size) {
|
||||
int bytes_sent = 0;
|
||||
int data_size = static_cast<int>(size); // signed size
|
||||
while (bytes_sent < (data_size)) {
|
||||
|
@ -21,18 +21,4 @@ int ServerInterface2::sendResult(int ret, void *retval, int retvalSize,
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ServerInterface2::receiveArg(void *arg, int sizeofArg) {
|
||||
assert(sizeofArg > 0);
|
||||
int bytes_read = receiveData(arg, sizeofArg);
|
||||
if (bytes_read == sizeofArg) {
|
||||
return defs::OK;
|
||||
} else {
|
||||
std::ostringstream ss;
|
||||
ss << "TCP socket error read " << bytes_read << " bytes instead of "
|
||||
<< sizeofArg << " bytes";
|
||||
|
||||
throw sls::SocketError(ss.str());
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace sls
|
||||
|
Reference in New Issue
Block a user