mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-19 00:07:13 +02:00
rxr: removed slsReceiverUsers, start() and stop()
This commit is contained in:
@ -1,7 +1,9 @@
|
||||
/********************************************//**
|
||||
* @file slsReceiver.cpp
|
||||
* @short creates the UDP and TCP class objects
|
||||
***********************************************/
|
||||
#include "Receiver.h"
|
||||
#include "slsReceiverTCPIPInterface.h"
|
||||
#include "sls_detector_exceptions.h"
|
||||
#include "versionAPI.h"
|
||||
#include "container_utils.h"
|
||||
#include "logger.h"
|
||||
|
||||
#include <cstdlib>
|
||||
#include <fstream>
|
||||
@ -11,15 +13,7 @@
|
||||
#include <sstream>
|
||||
#include <string>
|
||||
|
||||
#include "container_utils.h" // For sls::make_unique<>
|
||||
|
||||
#include "logger.h"
|
||||
#include "slsReceiver.h"
|
||||
#include "slsReceiverTCPIPInterface.h"
|
||||
#include "sls_detector_exceptions.h"
|
||||
#include "versionAPI.h"
|
||||
|
||||
slsReceiver::slsReceiver(int argc, char *argv[]):
|
||||
Receiver::Receiver(int argc, char *argv[]):
|
||||
tcpipInterface (nullptr) {
|
||||
|
||||
// options
|
||||
@ -81,47 +75,36 @@ slsReceiver::slsReceiver(int argc, char *argv[]):
|
||||
}
|
||||
|
||||
|
||||
slsReceiver::slsReceiver(int tcpip_port_no)
|
||||
Receiver::Receiver(int tcpip_port_no)
|
||||
{
|
||||
// might throw an exception
|
||||
tcpipInterface = sls::make_unique<slsReceiverTCPIPInterface>(tcpip_port_no);
|
||||
}
|
||||
|
||||
|
||||
int slsReceiver::start() {
|
||||
return tcpipInterface->start();
|
||||
}
|
||||
|
||||
|
||||
void slsReceiver::stop() {
|
||||
tcpipInterface->stop();
|
||||
}
|
||||
|
||||
|
||||
int64_t slsReceiver::getReceiverVersion(){
|
||||
int64_t Receiver::getReceiverVersion(){
|
||||
return tcpipInterface->getReceiverVersion();
|
||||
}
|
||||
|
||||
|
||||
void slsReceiver::registerCallBackStartAcquisition(int (*func)(
|
||||
void Receiver::registerCallBackStartAcquisition(int (*func)(
|
||||
std::string, std::string, uint64_t, uint32_t, void*),void *arg){
|
||||
tcpipInterface->registerCallBackStartAcquisition(func,arg);
|
||||
}
|
||||
|
||||
|
||||
void slsReceiver::registerCallBackAcquisitionFinished(
|
||||
void Receiver::registerCallBackAcquisitionFinished(
|
||||
void (*func)(uint64_t, void*),void *arg){
|
||||
tcpipInterface->registerCallBackAcquisitionFinished(func,arg);
|
||||
}
|
||||
|
||||
|
||||
void slsReceiver::registerCallBackRawDataReady(void (*func)(char*,
|
||||
void Receiver::registerCallBackRawDataReady(void (*func)(char*,
|
||||
char*, uint32_t, void*),void *arg){
|
||||
tcpipInterface->registerCallBackRawDataReady(func,arg);
|
||||
}
|
||||
|
||||
|
||||
void slsReceiver::registerCallBackRawDataModifyReady(void (*func)(char*,
|
||||
void Receiver::registerCallBackRawDataModifyReady(void (*func)(char*,
|
||||
char*, uint32_t &, void*),void *arg){
|
||||
tcpipInterface->registerCallBackRawDataModifyReady(func,arg);
|
||||
}
|
@ -2,8 +2,9 @@
|
||||
The port number is passed as an argument */
|
||||
|
||||
#include "logger.h"
|
||||
#include "slsReceiverUsers.h"
|
||||
#include "Receiver.h"
|
||||
#include "sls_detector_defs.h"
|
||||
#include "container_utils.h"
|
||||
|
||||
#include <csignal> //SIGINT
|
||||
#include <cstdlib> //system
|
||||
@ -13,7 +14,7 @@
|
||||
#include <sys/wait.h> //wait
|
||||
#include <syscall.h>
|
||||
#include <unistd.h> //usleep
|
||||
|
||||
#include <memory>
|
||||
|
||||
bool keeprunning;
|
||||
|
||||
@ -88,16 +89,14 @@ int main(int argc, char *argv[]) {
|
||||
FILE_LOG(logERROR) << "Could not set handler function for SIGPIPE";
|
||||
}
|
||||
|
||||
|
||||
int ret = slsDetectorDefs::OK;
|
||||
slsReceiverUsers *receiver = new slsReceiverUsers(argc, argv, ret);
|
||||
if(ret==slsDetectorDefs::FAIL){
|
||||
delete receiver;
|
||||
std::unique_ptr<Receiver> receiver = nullptr;
|
||||
try {
|
||||
receiver = sls::make_unique<Receiver>(argc, argv);
|
||||
} catch (...) {
|
||||
FILE_LOG(logINFOBLUE) << "Exiting [ Tid: " << syscall(SYS_gettid) << " ]";
|
||||
exit(EXIT_FAILURE);
|
||||
throw;
|
||||
}
|
||||
|
||||
|
||||
//register callbacks
|
||||
|
||||
/**
|
||||
@ -137,21 +136,10 @@ int main(int argc, char *argv[]) {
|
||||
*/
|
||||
//receiver->registerCallBackRawDataReady(rawDataReadyCallBack,NULL);
|
||||
|
||||
|
||||
|
||||
//start tcp server thread
|
||||
if (receiver->start() == slsDetectorDefs::FAIL){
|
||||
delete receiver;
|
||||
FILE_LOG(logINFOBLUE) << "Exiting [ Tid: " << syscall(SYS_gettid) << " ]";
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
FILE_LOG(logINFO) << "Ready ... ";
|
||||
FILE_LOG(logINFO) << "[ Press \'Ctrl+c\' to exit ]";
|
||||
while(keeprunning)
|
||||
pause();
|
||||
|
||||
delete receiver;
|
||||
FILE_LOG(logINFOBLUE) << "Exiting [ Tid: " << syscall(SYS_gettid) << " ]";
|
||||
FILE_LOG(logINFO) << "Exiting Receiver";
|
||||
return 0;
|
||||
|
@ -1,7 +1,7 @@
|
||||
/**
|
||||
\file mainReceiver.cpp
|
||||
|
||||
This file is an example of how to implement the slsReceiverUsers class
|
||||
This file is an example of how to implement the Receiver class
|
||||
You can compile it linking it to the slsReceiver library
|
||||
|
||||
g++ mainReceiver.cpp -L lib -lSlsReceiver -L/usr/lib64/ -L lib2 -lzmq -pthread -lrt -lm -lstdc++
|
||||
@ -17,14 +17,12 @@ It is linked in manual/manual-api from slsReceiverSoftware/include ]
|
||||
*/
|
||||
|
||||
#include "sls_detector_defs.h"
|
||||
#include "slsReceiverUsers.h"
|
||||
#include "Receiver.h"
|
||||
|
||||
#include <csignal> //SIGINT
|
||||
#include <cstdlib> //system
|
||||
#include <cstdlib> //system
|
||||
#include <cstring>
|
||||
#include <iostream>
|
||||
//#include "utilities.h"
|
||||
//#include "logger.h"
|
||||
#include <cerrno>
|
||||
#include <string>
|
||||
#include <sys/types.h> //wait
|
||||
@ -155,7 +153,7 @@ void GetData(char* metadata, char* datapointer, uint32_t &revDatasize, void* p){
|
||||
|
||||
|
||||
/**
|
||||
* Example of main program using the slsReceiverUsers class
|
||||
* Example of main program using the Receiver class
|
||||
*
|
||||
* - Defines in file for:
|
||||
* - Default Number of receivers is 1
|
||||
@ -214,18 +212,8 @@ int main(int argc, char *argv[]) {
|
||||
/** - if child process */
|
||||
else if (pid == 0) {
|
||||
cprintf(BLUE,"Child process %d [ Tid: %ld ]\n", i, (long)syscall(SYS_gettid));
|
||||
|
||||
char temp[10];
|
||||
sprintf(temp,"%d",startTCPPort + i);
|
||||
char* args[] = {(char*)"ignored", (char*)"--rx_tcpport", temp};
|
||||
int ret = slsDetectorDefs::OK;
|
||||
/** - create slsReceiverUsers object with appropriate arguments */
|
||||
slsReceiverUsers *receiver = new slsReceiverUsers(3, args, ret);
|
||||
if(ret==slsDetectorDefs::FAIL){
|
||||
delete receiver;
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
|
||||
Receiver *receiver = new Receiver(startTCPPort + i);
|
||||
|
||||
/** - register callbacks. remember to set file write enable to 0 (using the client)
|
||||
if we should not write files and you will write data using the callbacks */
|
||||
@ -245,19 +233,10 @@ int main(int argc, char *argv[]) {
|
||||
else if (withCallback == 2) receiver->registerCallBackRawDataModifyReady(GetData,nullptr);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/** - start tcp server thread */
|
||||
if (receiver->start() == slsDetectorDefs::FAIL){
|
||||
delete receiver;
|
||||
cprintf(BLUE,"Exiting Child Process [ Tid: %ld ]\n", (long)syscall(SYS_gettid));
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
/** - as long as keeprunning is true (changes with Ctrl+C) */
|
||||
while(keeprunning)
|
||||
pause();
|
||||
/** - interrupt caught, delete slsReceiverUsers object and exit */
|
||||
/** - interrupt caught, delete Receiver object and exit */
|
||||
delete receiver;
|
||||
cprintf(BLUE,"Exiting Child Process [ Tid: %ld ]\n", (long)syscall(SYS_gettid));
|
||||
exit(EXIT_SUCCESS);
|
||||
|
@ -8,9 +8,7 @@
|
||||
#include "slsReceiverTCPIPInterface.h"
|
||||
#include "FixedCapacityContainer.h"
|
||||
#include "ServerSocket.h"
|
||||
#include "slsReceiver.h"
|
||||
#include "slsReceiverImplementation.h"
|
||||
#include "slsReceiverUsers.h"
|
||||
#include "sls_detector_exceptions.h"
|
||||
#include "string_utils.h"
|
||||
#include "versionAPI.h"
|
||||
@ -35,19 +33,18 @@ slsReceiverTCPIPInterface::~slsReceiverTCPIPInterface() { stop(); }
|
||||
slsReceiverTCPIPInterface::slsReceiverTCPIPInterface(int pn)
|
||||
: myDetectorType(GOTTHARD), portNumber(pn > 0 ? pn : DEFAULT_PORTNO + 2) {
|
||||
function_table();
|
||||
start();
|
||||
}
|
||||
|
||||
int slsReceiverTCPIPInterface::start() {
|
||||
void slsReceiverTCPIPInterface::start() {
|
||||
FILE_LOG(logDEBUG) << "Creating TCP Server Thread";
|
||||
killTCPServerThread = 0;
|
||||
if (pthread_create(&TCPServer_thread, nullptr, startTCPServerThread,
|
||||
(void *)this)) {
|
||||
FILE_LOG(logERROR) << "Could not create TCP Server thread";
|
||||
return FAIL;
|
||||
throw RuntimeError("Could not create TCP Server thread");
|
||||
}
|
||||
tcpThreadCreated = true;
|
||||
FILE_LOG(logDEBUG) << "TCP Server thread created successfully.";
|
||||
return OK;
|
||||
}
|
||||
|
||||
void slsReceiverTCPIPInterface::stop() {
|
||||
|
@ -1,48 +0,0 @@
|
||||
#include "container_utils.h" // For sls::make_unique<>
|
||||
|
||||
#include "slsReceiverUsers.h"
|
||||
|
||||
slsReceiverUsers::slsReceiverUsers(int argc, char *argv[], int &success) {
|
||||
// catch the exception here to limit it to within the library (for current version)
|
||||
try {
|
||||
receiver = sls::make_unique<slsReceiver>(argc, argv);
|
||||
success = slsDetectorDefs::OK;
|
||||
} catch (...) {
|
||||
success = slsDetectorDefs::FAIL;
|
||||
}
|
||||
}
|
||||
|
||||
slsReceiverUsers::slsReceiverUsers(int tcpip_port_no) {
|
||||
receiver = sls::make_unique<slsReceiver>(tcpip_port_no);
|
||||
}
|
||||
|
||||
int slsReceiverUsers::start() {
|
||||
return receiver->start();
|
||||
}
|
||||
|
||||
void slsReceiverUsers::stop() {
|
||||
receiver->stop();
|
||||
}
|
||||
|
||||
int64_t slsReceiverUsers::getReceiverVersion(){
|
||||
return receiver->getReceiverVersion();
|
||||
}
|
||||
|
||||
void slsReceiverUsers::registerCallBackStartAcquisition(int (*func)(std::string, std::string, uint64_t, uint32_t, void*),void *arg){
|
||||
receiver->registerCallBackStartAcquisition(func,arg);
|
||||
}
|
||||
|
||||
void slsReceiverUsers::registerCallBackAcquisitionFinished(void (*func)(uint64_t, void*),void *arg){
|
||||
receiver->registerCallBackAcquisitionFinished(func,arg);
|
||||
}
|
||||
|
||||
void slsReceiverUsers::registerCallBackRawDataReady(void (*func)(char* header,
|
||||
char* datapointer, uint32_t datasize, void*), void *arg){
|
||||
receiver->registerCallBackRawDataReady(func,arg);
|
||||
}
|
||||
|
||||
void slsReceiverUsers::registerCallBackRawDataModifyReady(void (*func)(char* header,
|
||||
char* datapointer, uint32_t& revDatasize, void*), void *arg){
|
||||
receiver->registerCallBackRawDataModifyReady(func,arg);
|
||||
}
|
||||
|
Reference in New Issue
Block a user