diff --git a/slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp b/slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp index 56d5606f6..87909bfe8 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp @@ -243,6 +243,14 @@ int slsDetectorUsers::setClientDataStreamingInPort(int i){ return myDetector->setClientDataStreamingInPort(i); } +string slsDetectorUsers::setReceiverDataStreamingOutIP(string ip){ + return myDetector->setReceiverDataStreamingOutIP(ip); +} + +string slsDetectorUsers::setClientDataStreamingInIP(string ip){ + return myDetector->setClientDataStreamingInIP(ip); +} + int64_t slsDetectorUsers::getModuleFirmwareVersion(){ return myDetector->getModuleFirmwareVersion(); } diff --git a/slsDetectorSoftware/slsDetector/slsDetectorUsers.h b/slsDetectorSoftware/slsDetector/slsDetectorUsers.h index e9f69ecb7..9055fa819 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorUsers.h +++ b/slsDetectorSoftware/slsDetector/slsDetectorUsers.h @@ -463,7 +463,7 @@ class slsDetectorUsers * Set/Get receiver streaming out ZMQ port * For multi modules, it calculates (increments), sets the ports and restarts the sockets * @param i sets, -1 gets - * @returns receiver streaming out ZMQ port () + * @returns receiver streaming out ZMQ port */ int setReceiverDataStreamingOutPort(int i=-1); @@ -475,6 +475,22 @@ class slsDetectorUsers */ int setClientDataStreamingInPort(int i=-1); + /** (for expert users) + * Set/Get receiver streaming out ZMQ IP + * By default, it is the IP of receiver hostname + * @param ip sets, empty string gets + * @returns receiver streaming out ZMQ IP + */ + string setReceiverDataStreamingOutIP(string ip=""); + + /** (for expert users) + * Set/Get client streaming in ZMQ IP + * By default, it is the IP of receiver hostname + * @param i sets, empty string gets + * @returns client streaming in ZMQ IP + */ + string setClientDataStreamingInIP(string ip=""); + /** get get Module Firmware Version \returns id diff --git a/slsDetectorSoftware/slsDetector/slsDetectorUtils.h b/slsDetectorSoftware/slsDetector/slsDetectorUtils.h index 6f72af9cb..d10cef66d 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorUtils.h +++ b/slsDetectorSoftware/slsDetector/slsDetectorUtils.h @@ -127,13 +127,42 @@ class slsDetectorUtils : public slsDetectorActions, public postProcessing { int setClientDataStreamingInPort(int i){ \ if (i >= 0) { \ ostringstream ss; ss << i; string s = ss.str(); \ - int prev_streaming = enableDataStreamingToClient()(); \ + int prev_streaming = enableDataStreamingToClient(); \ setNetworkParameter(CLIENT_STREAMING_PORT, s); \ if (prev_streaming) { \ enableDataStreamingToClient(0); \ enableDataStreamingToClient(1);}} \ return atoi(getNetworkParameter(CLIENT_STREAMING_PORT).c_str());}; \ + /** + * Set/Get receiver streaming out ZMQ port + * For multi modules, it calculates (increments) and sets the ports + * @param i sets, -1 gets + * @returns receiver streaming out ZMQ port + */ + string setReceiverDataStreamingOutIP(string ip) { \ + if (ip.length()) { \ + int prev_streaming = enableDataStreamingFromReceiver(); \ + setNetworkParameter(RECEIVER_STREAMING_SRC_IP, ip); \ + if (prev_streaming) { \ + enableDataStreamingFromReceiver(0); \ + enableDataStreamingFromReceiver(1);}} \ + return getNetworkParameter(RECEIVER_STREAMING_SRC_IP);}; \ + + /** + * Set/Get client streaming in ZMQ port + * For multi modules, it calculates (increments) and sets the ports + * @param i sets, -1 gets + * @returns client streaming in ZMQ port + */ + string setClientDataStreamingInIP(string ip){ \ + if (ip.length()) { \ + int prev_streaming = enableDataStreamingToClient(); \ + setNetworkParameter(CLIENT_STREAMING_SRC_IP, ip); \ + if (prev_streaming) { \ + enableDataStreamingToClient(0); \ + enableDataStreamingToClient(1);}} \ + return getNetworkParameter(CLIENT_STREAMING_SRC_IP);}; \ // string getFilePath(){return fileIO::getFilePath();};; // string setFilePath(string s){return fileIO::setFilePath(s);};