mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-29 09:30:02 +02:00
WIP, indexstring
This commit is contained in:
parent
6b5511c9e5
commit
d3f420ffd4
@ -79,7 +79,8 @@ template <typename Ret, typename Arg>
|
|||||||
Ret Receiver::sendToReceiver(int fnum, const Arg &args){
|
Ret Receiver::sendToReceiver(int fnum, const Arg &args){
|
||||||
LOG(logDEBUG1) << "Sending: ["
|
LOG(logDEBUG1) << "Sending: ["
|
||||||
<< getFunctionNameFromEnum(static_cast<slsDetectorDefs::detFuncs>(fnum))
|
<< getFunctionNameFromEnum(static_cast<slsDetectorDefs::detFuncs>(fnum))
|
||||||
<< ", " << args << ", " << sizeof(args) << ", " << typeid(Ret).name() << ", " << sizeof(Ret) << "]";
|
<< ", " << args << ", " << sizeof(args) << ", " << typeid(Ret).name()
|
||||||
|
<< ", " << sizeof(Ret) << "]";
|
||||||
Ret retval{};
|
Ret retval{};
|
||||||
sendToReceiver(fnum, &args, sizeof(args), &retval, sizeof(retval));
|
sendToReceiver(fnum, &args, sizeof(args), &retval, sizeof(retval));
|
||||||
LOG(logDEBUG1) << "Got back: " << retval;
|
LOG(logDEBUG1) << "Got back: " << retval;
|
||||||
@ -90,7 +91,8 @@ template <typename Ret, typename Arg>
|
|||||||
Ret Receiver::sendToReceiver(int fnum, const Arg &args) const{
|
Ret Receiver::sendToReceiver(int fnum, const Arg &args) const{
|
||||||
LOG(logDEBUG1) << "Sending: ["
|
LOG(logDEBUG1) << "Sending: ["
|
||||||
<< getFunctionNameFromEnum(static_cast<slsDetectorDefs::detFuncs>(fnum))
|
<< getFunctionNameFromEnum(static_cast<slsDetectorDefs::detFuncs>(fnum))
|
||||||
<< ", " << args << ", " << sizeof(args) << ", " << typeid(Ret).name() << ", " << sizeof(Ret) << "]";
|
<< ", " << args << ", " << sizeof(args) << ", " << typeid(Ret).name()
|
||||||
|
<< ", " << sizeof(Ret) << "]";
|
||||||
Ret retval{};
|
Ret retval{};
|
||||||
sendToReceiver(fnum, &args, sizeof(args), &retval, sizeof(retval));
|
sendToReceiver(fnum, &args, sizeof(args), &retval, sizeof(retval));
|
||||||
LOG(logDEBUG1) << "Got back: " << retval;
|
LOG(logDEBUG1) << "Got back: " << retval;
|
||||||
@ -104,12 +106,12 @@ Receiver::Receiver(int detector_id, int module_id, int interface_id,
|
|||||||
int zmq_port) :
|
int zmq_port) :
|
||||||
receiverId(receiver_id), interfaceId(interface_id), moduleId(module_id),
|
receiverId(receiver_id), interfaceId(interface_id), moduleId(module_id),
|
||||||
shm(detector_id, module_id, interface_id, receiver_id) {
|
shm(detector_id, module_id, interface_id, receiver_id) {
|
||||||
|
createIndexString();
|
||||||
|
|
||||||
// ensure shared memory was not created before
|
// ensure shared memory was not created before
|
||||||
if (shm.IsExisting()) {
|
if (shm.IsExisting()) {
|
||||||
LOG(logWARNING) << "This shared memory should have been "
|
LOG(logWARNING) << "This shared memory should have been deleted "
|
||||||
"deleted before! "
|
"before! " << shm.GetName() << ". Freeing it again";
|
||||||
<< shm.GetName() << ". Freeing it again";
|
|
||||||
shm.RemoveSharedMemory();
|
shm.RemoveSharedMemory();
|
||||||
}
|
}
|
||||||
shm = SharedMemory<sharedReceiver>(detector_id, module_id, interface_id,
|
shm = SharedMemory<sharedReceiver>(detector_id, module_id, interface_id,
|
||||||
@ -141,10 +143,12 @@ Receiver::Receiver(int detector_id, int module_id, int interface_id,
|
|||||||
int receiver_id, bool verify) :
|
int receiver_id, bool verify) :
|
||||||
receiverId(receiver_id), interfaceId(interface_id), moduleId(module_id),
|
receiverId(receiver_id), interfaceId(interface_id), moduleId(module_id),
|
||||||
shm(detector_id, module_id, interface_id, receiver_id) {
|
shm(detector_id, module_id, interface_id, receiver_id) {
|
||||||
|
createIndexString();
|
||||||
|
|
||||||
shm.OpenSharedMemory();
|
shm.OpenSharedMemory();
|
||||||
if (verify && shm()->shmversion != RECEIVER_SHMVERSION) {
|
if (verify && shm()->shmversion != RECEIVER_SHMVERSION) {
|
||||||
std::ostringstream ss;
|
std::ostringstream ss;
|
||||||
ss << "Receiver shared memory (" << detector_id << "-" << moduleId
|
ss << "Receiver shared memory (" << detector_id << "-" << indexString
|
||||||
<< ":" << receiverId << ") version mismatch (expected 0x" << std::hex
|
<< ":" << receiverId << ") version mismatch (expected 0x" << std::hex
|
||||||
<< RECEIVER_SHMVERSION << " but got 0x" << shm()->shmversion << ")"
|
<< RECEIVER_SHMVERSION << " but got 0x" << shm()->shmversion << ")"
|
||||||
<< std::dec << ". Clear Shared memory to continue.";
|
<< std::dec << ". Clear Shared memory to continue.";
|
||||||
@ -154,6 +158,12 @@ Receiver::Receiver(int detector_id, int module_id, int interface_id,
|
|||||||
|
|
||||||
Receiver::~Receiver() = default;
|
Receiver::~Receiver() = default;
|
||||||
|
|
||||||
|
void Receiver::createIndexString() {
|
||||||
|
std::ostringstream oss;
|
||||||
|
oss << '(' << moduleId << (char)(interfaceId + 97) << "." << receiverId << ')';
|
||||||
|
indexString = oss.str();
|
||||||
|
}
|
||||||
|
|
||||||
/** Configuration */
|
/** Configuration */
|
||||||
|
|
||||||
void Receiver::freeSharedMemory() {
|
void Receiver::freeSharedMemory() {
|
||||||
@ -214,7 +224,7 @@ sls::MacAddr Receiver::configure(slsDetectorDefs::rxParameters arg) {
|
|||||||
if (ip == 0) {
|
if (ip == 0) {
|
||||||
ip = HostnameToIp(shm()->hostname);
|
ip = HostnameToIp(shm()->hostname);
|
||||||
}
|
}
|
||||||
LOG(logINFO) << "Setting default receiver " << moduleId
|
LOG(logINFO) << "Setting default receiver " << indexString
|
||||||
<< " streaming zmq ip to " << ip;
|
<< " streaming zmq ip to " << ip;
|
||||||
// if client zmqip is empty, update it
|
// if client zmqip is empty, update it
|
||||||
if (shm()->zmqIp == 0) {
|
if (shm()->zmqIp == 0) {
|
||||||
@ -280,10 +290,10 @@ sls::MacAddr Receiver::configure(slsDetectorDefs::rxParameters arg) {
|
|||||||
|
|
||||||
std::string Receiver::printConfiguration() {
|
std::string Receiver::printConfiguration() {
|
||||||
std::ostringstream os;
|
std::ostringstream os;
|
||||||
/*
|
|
||||||
os << "\n\nModuler " << moduleId
|
|
||||||
<< "\nReceiver Hostname:\t"<< getReceiverHostname();
|
|
||||||
|
|
||||||
|
os << "\n\nModuler " << indexString
|
||||||
|
<< "\nReceiver Hostname:\t"<< shm()->hostname;
|
||||||
|
/*
|
||||||
if (shm()->myDetectorType == JUNGFRAU) {
|
if (shm()->myDetectorType == JUNGFRAU) {
|
||||||
os << "\nNumber of Interfaces:\t" << getNumberofUDPInterfaces()
|
os << "\nNumber of Interfaces:\t" << getNumberofUDPInterfaces()
|
||||||
<< "\nSelected Interface:\t" << getSelectedUDPInterface();
|
<< "\nSelected Interface:\t" << getSelectedUDPInterface();
|
||||||
|
@ -36,6 +36,8 @@ namespace sls {
|
|||||||
|
|
||||||
virtual ~Receiver();
|
virtual ~Receiver();
|
||||||
|
|
||||||
|
void createIndexString();
|
||||||
|
|
||||||
/**************************************************
|
/**************************************************
|
||||||
* *
|
* *
|
||||||
* Configuration *
|
* Configuration *
|
||||||
@ -149,6 +151,7 @@ namespace sls {
|
|||||||
const int receiverId{0};
|
const int receiverId{0};
|
||||||
const int interfaceId{0};
|
const int interfaceId{0};
|
||||||
const int moduleId{0};
|
const int moduleId{0};
|
||||||
|
std::string indexString;
|
||||||
mutable sls::SharedMemory<sharedReceiver> shm{0, 0, 0, 0};
|
mutable sls::SharedMemory<sharedReceiver> shm{0, 0, 0, 0};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user