mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-16 23:07:13 +02:00
added functionality to set additional json header key value pairs for prototype ctb, server fixed for eiger compile from ctb integration
This commit is contained in:
Binary file not shown.
@ -1,9 +1,9 @@
|
|||||||
Path: slsDetectorPackage/slsDetectorServers/eigerDetectorServer
|
Path: slsDetectorPackage/slsDetectorServers/eigerDetectorServer
|
||||||
URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
||||||
Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
||||||
Repsitory UUID: 9d9251293d1a0b5300b8d7191949cf01de1c7b81
|
Repsitory UUID: 031a11c4f7b25e8c14532976731aebdc0bb56fe7
|
||||||
Revision: 21
|
Revision: 23
|
||||||
Branch: refactor
|
Branch: refactor
|
||||||
Last Changed Author: Dhanya_Thattil
|
Last Changed Author: Dhanya_Thattil
|
||||||
Last Changed Rev: 4255
|
Last Changed Rev: 4307
|
||||||
Last Changed Date: 2019-01-15 10:22:16.000000002 +0100 ./xparameters.h
|
Last Changed Date: 2019-02-11 14:53:03.000000002 +0100 ./xparameters.h
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
|
#define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
|
||||||
#define GITREPUUID "9d9251293d1a0b5300b8d7191949cf01de1c7b81"
|
#define GITREPUUID "031a11c4f7b25e8c14532976731aebdc0bb56fe7"
|
||||||
#define GITAUTH "Dhanya_Thattil"
|
#define GITAUTH "Dhanya_Thattil"
|
||||||
#define GITREV 0x4255
|
#define GITREV 0x4307
|
||||||
#define GITDATE 0x20190115
|
#define GITDATE 0x20190211
|
||||||
#define GITBRANCH "refactor"
|
#define GITBRANCH "refactor"
|
||||||
|
@ -1359,7 +1359,9 @@ int start_acquisition(int file_des) {
|
|||||||
FILE_LOG(logDEBUG1, ("Starting Acquisition\n"));
|
FILE_LOG(logDEBUG1, ("Starting Acquisition\n"));
|
||||||
// only set
|
// only set
|
||||||
if (Server_VerifyLock() == OK) {
|
if (Server_VerifyLock() == OK) {
|
||||||
|
#if defined(CHIPTESTBOARDD) || defined(MOENCHD)
|
||||||
nframes = 0;
|
nframes = 0;
|
||||||
|
#endif
|
||||||
ret = startStateMachine();
|
ret = startStateMachine();
|
||||||
if (ret == FAIL) {
|
if (ret == FAIL) {
|
||||||
sprintf(mess, "Could not start acquisition\n");
|
sprintf(mess, "Could not start acquisition\n");
|
||||||
@ -1444,7 +1446,9 @@ int start_and_read_all(int file_des) {
|
|||||||
FILE_LOG(logDEBUG1, ("Stopping Acquisition\n"));
|
FILE_LOG(logDEBUG1, ("Stopping Acquisition\n"));
|
||||||
// only set
|
// only set
|
||||||
if (Server_VerifyLock() == OK) {
|
if (Server_VerifyLock() == OK) {
|
||||||
|
#if defined(CHIPTESTBOARDD) || defined(MOENCHD)
|
||||||
nframes = 0;
|
nframes = 0;
|
||||||
|
#endif
|
||||||
ret = startStateMachine();
|
ret = startStateMachine();
|
||||||
if (ret == FAIL) {
|
if (ret == FAIL) {
|
||||||
sprintf(mess, "Could not start acquisition\n");
|
sprintf(mess, "Could not start acquisition\n");
|
||||||
@ -2505,14 +2509,15 @@ int set_ctb_pattern(int file_des) {
|
|||||||
uint64_t args[2] = {-1, -1};
|
uint64_t args[2] = {-1, -1};
|
||||||
if (receiveData(file_des, args, sizeof(args), INT64) < 0)
|
if (receiveData(file_des, args, sizeof(args), INT64) < 0)
|
||||||
return printSocketReadError();
|
return printSocketReadError();
|
||||||
int addr = (int)args[0];
|
|
||||||
uint64_t word = args[1];
|
|
||||||
int64_t retval64 = -1;
|
int64_t retval64 = -1;
|
||||||
|
|
||||||
#if !defined(CHIPTESTBOARDD) && !defined(MOENCHD)
|
#if !defined(CHIPTESTBOARDD) && !defined(MOENCHD)
|
||||||
functionNotImplemented();
|
functionNotImplemented();
|
||||||
return Server_SendResult(file_des, INT32, UPDATE, NULL, 0);
|
return Server_SendResult(file_des, INT32, UPDATE, NULL, 0);
|
||||||
#else
|
#else
|
||||||
|
int addr = (int)args[0];
|
||||||
|
uint64_t word = args[1];
|
||||||
|
|
||||||
if ((word == -1) || (Server_VerifyLock() == OK)) {
|
if ((word == -1) || (Server_VerifyLock() == OK)) {
|
||||||
|
|
||||||
// address for set word should be valid (if not -1 or -2, it goes to setword)
|
// address for set word should be valid (if not -1 or -2, it goes to setword)
|
||||||
@ -2558,16 +2563,17 @@ int set_ctb_pattern(int file_des) {
|
|||||||
uint64_t args[4] = {-1, -1, -1, -1};
|
uint64_t args[4] = {-1, -1, -1, -1};
|
||||||
if (receiveData(file_des, args, sizeof(args), INT64) < 0)
|
if (receiveData(file_des, args, sizeof(args), INT64) < 0)
|
||||||
return printSocketReadError();
|
return printSocketReadError();
|
||||||
int loopLevel = (int)args[0];
|
|
||||||
int startAddr = (int)args[1];
|
|
||||||
int stopAddr = (int)args[2];
|
|
||||||
int numLoops = (int)args[3];
|
|
||||||
int retvals[3] = {-1, -1, -1};
|
int retvals[3] = {-1, -1, -1};
|
||||||
|
|
||||||
#if !defined(CHIPTESTBOARDD) && !defined(MOENCHD)
|
#if !defined(CHIPTESTBOARDD) && !defined(MOENCHD)
|
||||||
functionNotImplemented();
|
functionNotImplemented();
|
||||||
return Server_SendResult(file_des, INT32, UPDATE, NULL, 0);
|
return Server_SendResult(file_des, INT32, UPDATE, NULL, 0);
|
||||||
#else
|
#else
|
||||||
|
int loopLevel = (int)args[0];
|
||||||
|
int startAddr = (int)args[1];
|
||||||
|
int stopAddr = (int)args[2];
|
||||||
|
int numLoops = (int)args[3];
|
||||||
|
|
||||||
if (loopLevel < -1 || loopLevel > 2) { // -1 complete pattern
|
if (loopLevel < -1 || loopLevel > 2) { // -1 complete pattern
|
||||||
ret = FAIL;
|
ret = FAIL;
|
||||||
sprintf(mess, "Pattern (Pattern Loop) Level (%d) is not implemented for this detector\n", loopLevel);
|
sprintf(mess, "Pattern (Pattern Loop) Level (%d) is not implemented for this detector\n", loopLevel);
|
||||||
@ -2610,14 +2616,15 @@ int set_ctb_pattern(int file_des) {
|
|||||||
uint64_t args[2] = {-1, -1};
|
uint64_t args[2] = {-1, -1};
|
||||||
if (receiveData(file_des, args, sizeof(args), INT64) < 0)
|
if (receiveData(file_des, args, sizeof(args), INT64) < 0)
|
||||||
return printSocketReadError();
|
return printSocketReadError();
|
||||||
int loopLevel = (int)args[0];
|
|
||||||
int addr = (int)args[1];
|
|
||||||
int retval32 = -1;
|
int retval32 = -1;
|
||||||
|
|
||||||
#if !defined(CHIPTESTBOARDD) && !defined(MOENCHD)
|
#if !defined(CHIPTESTBOARDD) && !defined(MOENCHD)
|
||||||
functionNotImplemented();
|
functionNotImplemented();
|
||||||
return Server_SendResult(file_des, INT32, UPDATE, NULL, 0);
|
return Server_SendResult(file_des, INT32, UPDATE, NULL, 0);
|
||||||
#else
|
#else
|
||||||
|
int loopLevel = (int)args[0];
|
||||||
|
int addr = (int)args[1];
|
||||||
|
|
||||||
if ((addr == -1) || (Server_VerifyLock() == OK)) {
|
if ((addr == -1) || (Server_VerifyLock() == OK)) {
|
||||||
if (loopLevel < 0 || loopLevel > 2) {
|
if (loopLevel < 0 || loopLevel > 2) {
|
||||||
ret = FAIL;
|
ret = FAIL;
|
||||||
@ -2651,14 +2658,15 @@ int set_ctb_pattern(int file_des) {
|
|||||||
uint64_t args[2] = {-1, -1};
|
uint64_t args[2] = {-1, -1};
|
||||||
if (receiveData(file_des, args, sizeof(args), INT64) < 0)
|
if (receiveData(file_des, args, sizeof(args), INT64) < 0)
|
||||||
return printSocketReadError();
|
return printSocketReadError();
|
||||||
int loopLevel = (int)args[1];
|
|
||||||
uint64_t timeval = (int)args[2];
|
|
||||||
int64_t retval64 = -1;
|
int64_t retval64 = -1;
|
||||||
|
|
||||||
#if !defined(CHIPTESTBOARDD) && !defined(MOENCHD)
|
#if !defined(CHIPTESTBOARDD) && !defined(MOENCHD)
|
||||||
functionNotImplemented();
|
functionNotImplemented();
|
||||||
return Server_SendResult(file_des, INT32, UPDATE, NULL, 0);
|
return Server_SendResult(file_des, INT32, UPDATE, NULL, 0);
|
||||||
#else
|
#else
|
||||||
|
int loopLevel = (int)args[1];
|
||||||
|
uint64_t timeval = (int)args[2];
|
||||||
|
|
||||||
if ((timeval == -1) || (Server_VerifyLock() == OK)) {
|
if ((timeval == -1) || (Server_VerifyLock() == OK)) {
|
||||||
if (loopLevel < 0 || loopLevel > 2) {
|
if (loopLevel < 0 || loopLevel > 2) {
|
||||||
ret = FAIL;
|
ret = FAIL;
|
||||||
|
@ -1934,6 +1934,29 @@ std::string multiSlsDetector::getAdditionalJsonHeader(int detPos) {
|
|||||||
return sls::concatenateIfDifferent(r);
|
return sls::concatenateIfDifferent(r);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string multiSlsDetector::setAdditionalJsonParameter(const std::string& key, const std::string& value, int detPos) {
|
||||||
|
// single
|
||||||
|
if (detPos >= 0) {
|
||||||
|
return detectors[detPos]->setAdditionalJsonParameter(key, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
// multi
|
||||||
|
auto r = parallelCall(&slsDetector::setAdditionalJsonParameter, key, value);
|
||||||
|
return sls::concatenateIfDifferent(r);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string multiSlsDetector::getAdditionalJsonParameter(const std::string& key, int detPos) {
|
||||||
|
// single
|
||||||
|
if (detPos >= 0) {
|
||||||
|
return detectors[detPos]->getAdditionalJsonParameter(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
// multi
|
||||||
|
auto r = serialCall(&slsDetector::getAdditionalJsonParameter, key);
|
||||||
|
return sls::concatenateIfDifferent(r);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int multiSlsDetector::setReceiverUDPSocketBufferSize(int udpsockbufsize, int detPos) {
|
int multiSlsDetector::setReceiverUDPSocketBufferSize(int udpsockbufsize, int detPos) {
|
||||||
// single
|
// single
|
||||||
if (detPos >= 0) {
|
if (detPos >= 0) {
|
||||||
|
@ -1057,17 +1057,36 @@ class multiSlsDetector : public virtual slsDetectorDefs,
|
|||||||
* Sets the additional json header
|
* Sets the additional json header
|
||||||
* @param jsonheader additional json header
|
* @param jsonheader additional json header
|
||||||
* @param detPos -1 for all detectors in list or specific detector position
|
* @param detPos -1 for all detectors in list or specific detector position
|
||||||
* @returns additional json header, returns "none" if default setting and no custom ip set
|
* @returns additional json header, default is empty
|
||||||
*/
|
*/
|
||||||
std::string setAdditionalJsonHeader(const std::string& jsonheader, int detPos = -1);
|
std::string setAdditionalJsonHeader(const std::string& jsonheader, int detPos = -1);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the additional json header
|
* Returns the additional json header
|
||||||
* @param detPos -1 for all detectors in list or specific detector position
|
* @param detPos -1 for all detectors in list or specific detector position
|
||||||
* @returns the additional json header, returns "none" if default setting and no custom ip set
|
* @returns the additional json header, default is empty
|
||||||
*/
|
*/
|
||||||
std::string getAdditionalJsonHeader(int detPos = -1);
|
std::string getAdditionalJsonHeader(int detPos = -1);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the value for the additional json header parameter if found, else append it
|
||||||
|
* @param key additional json header parameter
|
||||||
|
* @param value additional json header parameter value (cannot be empty)
|
||||||
|
* @param detPos -1 for all detectors in list or specific detector position
|
||||||
|
* @returns the additional json header parameter value,
|
||||||
|
* empty if no parameter found in additional json header
|
||||||
|
*/
|
||||||
|
std::string setAdditionalJsonParameter(const std::string& key, const std::string& value, int detPos = -1);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the additional json header parameter value
|
||||||
|
* @param key additional json header parameter
|
||||||
|
* @param detPos -1 for all detectors in list or specific detector position
|
||||||
|
* @returns the additional json header parameter value,
|
||||||
|
* empty if no parameter found in additional json header
|
||||||
|
*/
|
||||||
|
std::string getAdditionalJsonParameter(const std::string& key, int detPos = -1);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the receiver UDP socket buffer size
|
* Sets the receiver UDP socket buffer size
|
||||||
* @param udpsockbufsize additional json header
|
* @param udpsockbufsize additional json header
|
||||||
|
@ -310,7 +310,7 @@ void slsDetector::setDetectorSpecificParameters(detectorType type, detParameterL
|
|||||||
list.nGappixelsY = 1;
|
list.nGappixelsY = 1;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
FILE_LOG(logERROR) << "Unknown detector type!";
|
FILE_LOG(logERROR) << "Unknown detector type! " << type;
|
||||||
throw std::exception();
|
throw std::exception();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2625,7 +2625,7 @@ std::string slsDetector::setAdditionalJsonHeader(const std::string &jsonheader)
|
|||||||
sls::strcpy_safe(args, jsonheader.c_str());
|
sls::strcpy_safe(args, jsonheader.c_str());
|
||||||
FILE_LOG(logDEBUG1) << "Sending additional json header " << args;
|
FILE_LOG(logDEBUG1) << "Sending additional json header " << args;
|
||||||
|
|
||||||
if (thisDetector->receiverOnlineFlag == ONLINE_FLAG) {
|
if (thisDetector->receiverOnlineFlag == ONLINE_FLAG) {
|
||||||
auto receiver = sls::ClientSocket(thisDetector->receiver_hostname, thisDetector->receiverTCPPort);
|
auto receiver = sls::ClientSocket(thisDetector->receiver_hostname, thisDetector->receiverTCPPort);
|
||||||
ret = receiver.sendCommandThenRead(fnum, args, sizeof(args), retvals, sizeof(retvals));
|
ret = receiver.sendCommandThenRead(fnum, args, sizeof(args), retvals, sizeof(retvals));
|
||||||
if (ret == FAIL) {
|
if (ret == FAIL) {
|
||||||
@ -2646,6 +2646,65 @@ std::string slsDetector::getAdditionalJsonHeader() {
|
|||||||
return std::string(thisDetector->receiver_additionalJsonHeader);
|
return std::string(thisDetector->receiver_additionalJsonHeader);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string slsDetector::setAdditionalJsonParameter(const std::string& key, const std::string& value) {
|
||||||
|
|
||||||
|
// validation (ignore if key or value has , : ")
|
||||||
|
if (key.find_first_of(",\":") != std::string::npos || value.find_first_of(",\":") != std::string::npos) {
|
||||||
|
FILE_LOG(logERROR) << "Could not set additional json header parameter as the key or value has illegal characters (,\":)";
|
||||||
|
return getAdditionalJsonParameter(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string header(thisDetector->receiver_additionalJsonHeader);
|
||||||
|
size_t keyPos = header.find(std::string("\"") + key + std::string("\":") );
|
||||||
|
|
||||||
|
// if key found, replace value
|
||||||
|
if (keyPos != std::string::npos) {
|
||||||
|
size_t valuePosStart = header.find (std::string(":\""), keyPos) + 2;
|
||||||
|
size_t valuePosEnd = header.find (std::string("\""), valuePosStart) - 1;
|
||||||
|
header.replace(valuePosStart, valuePosEnd - valuePosStart + 1, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
// key not found, append key value pair
|
||||||
|
else {
|
||||||
|
if (header.length()) {
|
||||||
|
header.append(",");
|
||||||
|
}
|
||||||
|
// put it in formula \"key\":\"value\"
|
||||||
|
header.append(std::string("\"") + key + std::string("\"") + std::string(":")
|
||||||
|
+ std::string("\"") + value + std::string("\""));
|
||||||
|
}
|
||||||
|
|
||||||
|
// update additional json header
|
||||||
|
setAdditionalJsonHeader(header);
|
||||||
|
return getAdditionalJsonParameter(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string slsDetector::getAdditionalJsonParameter(const std::string& key) {
|
||||||
|
// additional json header is empty
|
||||||
|
if (!strlen(thisDetector->receiver_additionalJsonHeader))
|
||||||
|
return std::string("");
|
||||||
|
|
||||||
|
// add quotations before and after the key value
|
||||||
|
std::string keyLiteral = key;
|
||||||
|
keyLiteral.insert(0, "\"");
|
||||||
|
keyLiteral.append("\"");
|
||||||
|
|
||||||
|
// loop through the parameters
|
||||||
|
for (const auto ¶meter : sls::split(thisDetector->receiver_additionalJsonHeader, ',')) {
|
||||||
|
// get a vector of key value pair for each parameter
|
||||||
|
const auto &pairs = sls::split(parameter, ':');
|
||||||
|
// match for key
|
||||||
|
if (pairs[0] == keyLiteral) {
|
||||||
|
// return value without quotations
|
||||||
|
return pairs[1].substr(1, pairs[1].length() - 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// return empty string as no match found with key
|
||||||
|
return std::string("");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
int slsDetector::setReceiverUDPSocketBufferSize(int udpsockbufsize) {
|
int slsDetector::setReceiverUDPSocketBufferSize(int udpsockbufsize) {
|
||||||
int fnum = F_RECEIVER_UDP_SOCK_BUF_SIZE;
|
int fnum = F_RECEIVER_UDP_SOCK_BUF_SIZE;
|
||||||
int ret = FAIL;
|
int ret = FAIL;
|
||||||
|
@ -977,6 +977,23 @@ public:
|
|||||||
*/
|
*/
|
||||||
std::string getAdditionalJsonHeader();
|
std::string getAdditionalJsonHeader();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the value for the additional json header parameter if found, else append it
|
||||||
|
* @param key additional json header parameter
|
||||||
|
* @param value additional json header parameter value (cannot be empty)
|
||||||
|
* @returns the additional json header parameter value,
|
||||||
|
* empty if no parameter found in additional json header
|
||||||
|
*/
|
||||||
|
std::string setAdditionalJsonParameter(const std::string& key, const std::string& value);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the additional json header parameter value
|
||||||
|
* @param key additional json header parameter
|
||||||
|
* @returns the additional json header parameter value,
|
||||||
|
* empty if no parameter found in additional json header
|
||||||
|
*/
|
||||||
|
std::string getAdditionalJsonParameter(const std::string& key);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the receiver UDP socket buffer size
|
* Sets the receiver UDP socket buffer size
|
||||||
* @param udpsockbufsize additional json header
|
* @param udpsockbufsize additional json header
|
||||||
|
@ -1640,6 +1640,13 @@ slsDetectorCommand::slsDetectorCommand(multiSlsDetector *det) {
|
|||||||
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdNetworkParameter;
|
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdNetworkParameter;
|
||||||
i++;
|
i++;
|
||||||
|
|
||||||
|
/*! \page network
|
||||||
|
- <b>rx_jsonpara [k] [v]</b> sets/gets value v for additional json header parameter k to be streamed out with the zmq from receiver. If empty, then no parameter found Use only if it needs to be processed by an intermediate process. \c Returns \c (string)
|
||||||
|
*/
|
||||||
|
descrToFuncMap[i].m_pFuncName = "rx_jsonpara"; //
|
||||||
|
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdNetworkParameter;
|
||||||
|
i++;
|
||||||
|
|
||||||
/*! \page network
|
/*! \page network
|
||||||
- <b>configuremac [i]</b> configures the MAC of the detector with these parameters: detectorip, detectormac, rx_udpip, rx_udpmac, rx_udpport, rx_udpport2 (if applicable). This command is already included in \c rx_hsotname. Only put!. \c Returns \c (int)
|
- <b>configuremac [i]</b> configures the MAC of the detector with these parameters: detectorip, detectormac, rx_udpip, rx_udpmac, rx_udpport, rx_udpport2 (if applicable). This command is already included in \c rx_hsotname. Only put!. \c Returns \c (int)
|
||||||
*/
|
*/
|
||||||
@ -2844,6 +2851,11 @@ std::string slsDetectorCommand::cmdNetworkParameter(int narg, char *args[], int
|
|||||||
myDet->setAdditionalJsonHeader(args[1], detPos);
|
myDet->setAdditionalJsonHeader(args[1], detPos);
|
||||||
}
|
}
|
||||||
return myDet->getAdditionalJsonHeader(detPos);
|
return myDet->getAdditionalJsonHeader(detPos);
|
||||||
|
} else if (cmd == "rx_jsonpara") {
|
||||||
|
if (action == PUT_ACTION) {
|
||||||
|
myDet->setAdditionalJsonParameter(args[1], args[2], detPos);
|
||||||
|
}
|
||||||
|
return myDet->getAdditionalJsonParameter(args[1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return ("unknown network parameter") + cmd;
|
return ("unknown network parameter") + cmd;
|
||||||
@ -2884,6 +2896,7 @@ std::string slsDetectorCommand::helpNetworkParameter(int action) {
|
|||||||
"out with the zmq from receiver. Default is empty. t must be in the format '\"label1\":\"value1\",\"label2\":\"value2\"' etc."
|
"out with the zmq from receiver. Default is empty. t must be in the format '\"label1\":\"value1\",\"label2\":\"value2\"' etc."
|
||||||
"Use only if it needs to be processed by an intermediate process."
|
"Use only if it needs to be processed by an intermediate process."
|
||||||
<< std::endl;
|
<< std::endl;
|
||||||
|
os << "rx_jsonpara [k v]\n sets value to v for additional json header parameter k to be streamed out with the zmq from receiver. Use only if it needs to be processed by an intermediate process." << std::endl;
|
||||||
os << "rx_udpsocksize [t]\n sets the UDP socket buffer size. Different defaults for Jungfrau. "
|
os << "rx_udpsocksize [t]\n sets the UDP socket buffer size. Different defaults for Jungfrau. "
|
||||||
"Does not remember in client shared memory, "
|
"Does not remember in client shared memory, "
|
||||||
"so must be initialized each time after setting receiver "
|
"so must be initialized each time after setting receiver "
|
||||||
@ -2908,6 +2921,7 @@ std::string slsDetectorCommand::helpNetworkParameter(int action) {
|
|||||||
os << "rx_jsonaddheader \n gets additional json header to be streamed "
|
os << "rx_jsonaddheader \n gets additional json header to be streamed "
|
||||||
"out with the zmq from receiver."
|
"out with the zmq from receiver."
|
||||||
<< std::endl;
|
<< std::endl;
|
||||||
|
os << "rx_jsonpara [k] \n gets value of additional json header parameter k to be streamed out with the zmq from receiver. If empty, then no parameter found. Use only if it needs to be processed by an intermediate process." << std::endl;
|
||||||
os << "rx_udpsocksize \n gets the UDP socket buffer size." << std::endl;
|
os << "rx_udpsocksize \n gets the UDP socket buffer size." << std::endl;
|
||||||
os << "rx_realudpsocksize \n gets the actual UDP socket buffer size. Usually double the set udp socket buffer size due to kernel bookkeeping." << std::endl;
|
os << "rx_realudpsocksize \n gets the actual UDP socket buffer size. Usually double the set udp socket buffer size due to kernel bookkeeping." << std::endl;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user